You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by st...@apache.org on 2014/08/08 05:10:58 UTC

svn commit: r1616666 - /openoffice/trunk/main/sw/source/filter/ww8/ww8graf.cxx

Author: steve_y
Date: Fri Aug  8 03:10:58 2014
New Revision: 1616666

URL: http://svn.apache.org/r1616666
Log:
https://issues.apache.org/ooo/show_bug.cgi?id=125391
Fixed by Oliver-Rainer Wittmann

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

Modified: openoffice/trunk/main/sw/source/filter/ww8/ww8graf.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/source/filter/ww8/ww8graf.cxx?rev=1616666&r1=1616665&r2=1616666&view=diff
==============================================================================
--- openoffice/trunk/main/sw/source/filter/ww8/ww8graf.cxx (original)
+++ openoffice/trunk/main/sw/source/filter/ww8/ww8graf.cxx Fri Aug  8 03:10:58 2014
@@ -2260,28 +2260,23 @@ RndStdIds SwWW8ImplReader::ProcessEscher
 	sal_uInt32 nXAlign = nCntXAlign > pRecord->nXAlign ? pRecord->nXAlign : 1;
 	sal_uInt32 nYAlign = nCntYAlign > pRecord->nYAlign ? pRecord->nYAlign : 1;
 
-	if (pFSPA)
-	{
-		/*
-		#74188# #i15718# #i19008#
-		Strangely in this case the FSPA value seems to be considered before
-		the newer escher nXRelTo record.
-		*/
-        // --> OD 2005-08-04 #i52565# - correct condition checking:
-        // first check, if <nXRelTo> and <nYRelTo> have default values.  This
-        // is a hint that these values aren't set by the escher import - see
-        // method <SwMSDffManager::ProcessObj(..)>. Then, check if for each
-        // values, if it differs from the one in the FSPA.
-        if ( pRecord->nXRelTo == 2 && pRecord->nYRelTo == 2 && !bCurSectionVertical)
+    if ( pFSPA != NULL )
+    {
+        // #52565# - try to handle special case for objects in tables regarding its X Rel
+
+        // if X and Y Rel values are on default take it as a hint, that they have not been set
+        // by <SwMSDffManager::ProcessObj(..)>
+        const bool bXYRelHaveDefaultValues = pRecord->nXRelTo == 2 && pRecord->nYRelTo == 2;
+        if ( bXYRelHaveDefaultValues
+             && nInTable > 0
+             && !bCurSectionVertical )
         {
-            // if <nYRelTo> differs from <FSPA.nby> overwrite <nYRelTo>
             if ( pFSPA->nby != pRecord->nYRelTo )
             {
                 pRecord->nYRelTo = pFSPA->nby;
             }
         }
-        // <--
-	}
+    }
 
     sal_uInt32 nXRelTo = nCntRelTo > pRecord->nXRelTo ? pRecord->nXRelTo : 1;
     sal_uInt32 nYRelTo = nCntRelTo > pRecord->nYRelTo ? pRecord->nYRelTo : 1;