ooo-build r12129 - trunk/patches/src680
- From: freuter svn gnome org
- To: svn-commits-list gnome org
- Subject: ooo-build r12129 - trunk/patches/src680
- Date: Tue, 8 Apr 2008 12:07:11 +0100 (BST)
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]