ooo-build r13073 - in trunk: . patches/dev300



Author: strba
Date: Fri Jul  4 20:33:42 2008
New Revision: 13073
URL: http://svn.gnome.org/viewvc/ooo-build?rev=13073&view=rev

Log:
handle cases where Word interpretes the section-break-continous as section-break-next-page, fixes n#405071

Added:
   trunk/patches/dev300/sw-source-filter-ww8-continous-section-break-fix.diff
Modified:
   trunk/ChangeLog
   trunk/patches/dev300/apply

Modified: trunk/patches/dev300/apply
==============================================================================
--- trunk/patches/dev300/apply	(original)
+++ trunk/patches/dev300/apply	Fri Jul  4 20:33:42 2008
@@ -2339,6 +2339,8 @@
 slideshow-animated-bmp-fix.diff, i#73914, jlcheng
 sd-more-title-styles.diff, i#23221, thorsten
 
+sw-source-filter-ww8-continous-section-break-fix.diff, n#405071, fridrich
+
 [ LocalizeFixes ]
 # it is Y axis, not X one [in Spanish]
 chart2-es-eje-Y.diff, i#83821, rengelha

Added: trunk/patches/dev300/sw-source-filter-ww8-continous-section-break-fix.diff
==============================================================================
--- (empty file)
+++ trunk/patches/dev300/sw-source-filter-ww8-continous-section-break-fix.diff	Fri Jul  4 20:33:42 2008
@@ -0,0 +1,30 @@
+--- sw/source//filter/ww8/ww8par.cxx	2008-07-04 22:05:07.000000000 +0200
++++ sw/source//filter/ww8/ww8par.cxx	2008-07-04 22:01:31.000000000 +0200
+@@ -3435,8 +3435,14 @@
+     for (mySegIter aIter = aStart; aIter != aEnd; ++aIter)
+     {
+         mySegIter aNext = aIter+1;
++        mySegIter aPrev = (aIter == aStart) ? aIter : aIter-1;
+ 
+-        bool bInsertSection = aIter != aStart ? aIter->IsContinous() : false;
++        // If two following sections are different in following properties, Word will interprete a continuous
++        // section break between them as if it was a section break next page.
++        bool bThisAndPreviousAreCompatible = ((aIter->GetPageWidth() == aPrev->GetPageWidth()) &&
++            (aIter->GetPageHeight() == aPrev->GetPageHeight()) && (aIter->IsLandScape() == aPrev->IsLandScape()));
++
++        bool bInsertSection = (aIter != aStart) ? (aIter->IsContinous() &&  bThisAndPreviousAreCompatible): false;
+         bool bInsertPageDesc = !bInsertSection;
+         bool bProtected = SectionIsProtected(*aIter);
+ 
+@@ -3452,7 +3458,10 @@
+             */
+ 
+             bool bIgnoreCols = false;
+-            if ((aNext != aEnd && aNext->IsContinous() || bProtected))
++            bool bThisAndNextAreCompatible = (aNext != aEnd) ? ((aIter->GetPageWidth() == aNext->GetPageWidth()) &&
++                (aIter->GetPageHeight() == aNext->GetPageHeight()) && (aIter->IsLandScape() == aNext->IsLandScape())) : true;
++
++            if ((aNext != aEnd && aNext->IsContinous() && bThisAndNextAreCompatible || bProtected))
+             {
+                 bIgnoreCols = true;
+                 if ((aIter->NoCols() > 1) || bProtected)



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