Author: pescetti
Date: Fri Sep 25 22:38:10 2015
New Revision: 1705368

URL: http://svn.apache.org/viewvc?rev=1705368&view=rev
Log:
#i126556# Fix bookmarks import in Word filter.
Patch by: Damjan Jovanovic <[email protected]>

Modified:
    openoffice/trunk/main/sw/source/filter/ww8/dump/ww8scan.cxx
    openoffice/trunk/main/sw/source/filter/ww8/ww8scan.cxx

Modified: openoffice/trunk/main/sw/source/filter/ww8/dump/ww8scan.cxx
URL: 
http://svn.apache.org/viewvc/openoffice/trunk/main/sw/source/filter/ww8/dump/ww8scan.cxx?rev=1705368&r1=1705367&r2=1705368&view=diff
==============================================================================
--- openoffice/trunk/main/sw/source/filter/ww8/dump/ww8scan.cxx (original)
+++ openoffice/trunk/main/sw/source/filter/ww8/dump/ww8scan.cxx Fri Sep 25 
22:38:10 2015
@@ -3750,8 +3750,6 @@ WW8PLCFx_Book::WW8PLCFx_Book(SvStream* p
 
                if( pBook[0]->GetIMax() < nIMax )       // Count of Bookmarks
                        nIMax = pBook[0]->GetIMax();
-               if( pBook[1]->GetIMax() < nIMax )
-                       nIMax = pBook[1]->GetIMax();
                pStatus = new eBookStatus[ nIMax ];
                memset( pStatus, 0, nIMax * sizeof( eBookStatus ) );
        }
@@ -3875,7 +3873,8 @@ long WW8PLCFx_Book::GetLen() const
 void WW8PLCFx_Book::SetStatus(sal_uInt16 nIndex, eBookStatus eStat )
 {
     ASSERT(nIndex < nIMax, "set status of non existing bookmark!");
-    pStatus[nIndex] = (eBookStatus)( pStatus[nIndex] | eStat );
+    if ( nIndex < nIMax )
+        pStatus[nIndex] = (eBookStatus)( pStatus[nIndex] | eStat );
 }
 
 eBookStatus WW8PLCFx_Book::GetStatus() const

Modified: openoffice/trunk/main/sw/source/filter/ww8/ww8scan.cxx
URL: 
http://svn.apache.org/viewvc/openoffice/trunk/main/sw/source/filter/ww8/ww8scan.cxx?rev=1705368&r1=1705367&r2=1705368&view=diff
==============================================================================
--- openoffice/trunk/main/sw/source/filter/ww8/ww8scan.cxx (original)
+++ openoffice/trunk/main/sw/source/filter/ww8/ww8scan.cxx Fri Sep 25 22:38:10 
2015
@@ -4162,8 +4162,6 @@ WW8PLCFx_Book::WW8PLCFx_Book(SvStream* p
 
         if( pBook[0]->GetIMax() < nIMax )   // Count of Bookmarks
             nIMax = pBook[0]->GetIMax();
-        if( pBook[1]->GetIMax() < nIMax )
-            nIMax = pBook[1]->GetIMax();
         pStatus = new eBookStatus[ nIMax ];
         memset( pStatus, 0, nIMax * sizeof( eBookStatus ) );
     }
@@ -4300,7 +4298,8 @@ long WW8PLCFx_Book::GetLen() const
 void WW8PLCFx_Book::SetStatus(sal_uInt16 nIndex, eBookStatus eStat )
 {
     ASSERT(nIndex < nIMax, "set status of non existing bookmark!");
-    pStatus[nIndex] = (eBookStatus)( pStatus[nIndex] | eStat );
+    if ( nIndex < nIMax )
+        pStatus[nIndex] = (eBookStatus)( pStatus[nIndex] | eStat );
 }
 
 eBookStatus WW8PLCFx_Book::GetStatus() const


Reply via email to