ooo-build r12129 - trunk/patches/src680



Author: freuter
Date: Tue Apr  8 12:07:11 2008
New Revision: 12129
URL: http://svn.gnome.org/viewvc/ooo-build?rev=12129&view=rev

Log:
proof of concept. whole thing needs to be reworked...

Modified:
   trunk/patches/src680/sw-nested-positionned-tables-ww8-import-fix.diff

Modified: trunk/patches/src680/sw-nested-positionned-tables-ww8-import-fix.diff
==============================================================================
--- trunk/patches/src680/sw-nested-positionned-tables-ww8-import-fix.diff	(original)
+++ trunk/patches/src680/sw-nested-positionned-tables-ww8-import-fix.diff	Tue Apr  8 12:07:11 2008
@@ -1,11 +1,40 @@
---- sw/source/filter/ww8/ww8par2.cxx	2 Jan 2008 14:42:31 -0000	1.134.66.1
-+++ sw/source/filter/ww8/ww8par2.cxx	13 Mar 2008 10:05:43 -0000
-@@ -722,7 +722,7 @@
-     //unit no matter what else happens. So if we are not in a table at
-     //all, or if we are in the first cell then test that the last frame
-     //data is the same as the current one
--    if (bNowApo && InEqualApo(nCellLevel))
-+    if (bNowApo && InEqualApo(nCellLevel) && nCellLevel <= 1)
-     {
-         // two bordering eachother
-         if (!TestSameApo(aRet, pTabPos))
+diff --git a/sw/source/filter/ww8/ww8par.cxx b/sw/source/filter/ww8/ww8par.cxx
+index 6c74798..339125c 100644
+--- sw/source/filter/ww8/ww8par.cxx
++++ sw/source/filter/ww8/ww8par.cxx
+@@ -2254,6 +2264,8 @@ bool SwWW8ImplReader::ProcessSpecial(bool &rbReSync, WW8_CP nStartCp)
+             nCellLevel = 0 != pPlcxMan->HasParaSprm(0x244B);
+     }
+ 
++ mark:
++
+     WW8_TablePos *pTabPos=0;
+     WW8_TablePos aTabPos;
+     if (nCellLevel && !bVer67)
+@@ -2267,7 +2279,7 @@ bool SwWW8ImplReader::ProcessSpecial(bool &rbReSync, WW8_CP nStartCp)
+         if (const BYTE *pLevel = pPlcxMan->HasParaSprm(0x6649))
+             nCellLevel = *pLevel;
+ 
+-        bool bHasRowEnd = SearchRowEnd(pPap, nMyStartCp, nCellLevel-1);
++        bool bHasRowEnd = SearchRowEnd(pPap, nMyStartCp, (nInTable<nCellLevel?nInTable:nCellLevel-1));
+ 
+         //Bad Table, remain unchanged in level, e.g. #i19667#
+         if (!bHasRowEnd)
+@@ -2345,12 +2357,16 @@ bool SwWW8ImplReader::ProcessSpecial(bool &rbReSync, WW8_CP nStartCp)
+                                             // in Tabellen
+         while (nInTable < nCellLevel)
+         {
+-            if (StartTable(nStartCp))
++            if (StartTable(nStartCp)) {
+                 ++nInTable;
++	    }
+             else
+                 break;
+ 
+             maApos.push_back(false);
++	    if (nInTable<nCellLevel)
++	       goto mark;
++
+         }
+         // nach StartTable ist ein ReSync noetig ( eigentlich nur, falls die
+         // Tabelle ueber eine FKP-Grenze geht



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]