You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by al...@apache.org on 2013/05/07 11:34:50 UTC

svn commit: r1479828 - in /openoffice/trunk/main/vcl/source/gdi: outdev.cxx outdev6.cxx

Author: alg
Date: Tue May  7 09:34:50 2013
New Revision: 1479828

URL: http://svn.apache.org/r1479828
Log:
i122241 Made Push/Pop with PUSH_MAPMODE safe for mbMap flag and MapMode preservation

Modified:
    openoffice/trunk/main/vcl/source/gdi/outdev.cxx
    openoffice/trunk/main/vcl/source/gdi/outdev6.cxx

Modified: openoffice/trunk/main/vcl/source/gdi/outdev.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/vcl/source/gdi/outdev.cxx?rev=1479828&r1=1479827&r2=1479828&view=diff
==============================================================================
--- openoffice/trunk/main/vcl/source/gdi/outdev.cxx (original)
+++ openoffice/trunk/main/vcl/source/gdi/outdev.cxx Tue May  7 09:34:50 2013
@@ -105,6 +105,7 @@ struct ImplObjStack
 {
     ImplObjStack*   mpPrev;
     MapMode*        mpMapMode;
+    bool            mbMapActive;
     Region*         mpClipRegion;
     Color*          mpLineColor;
     Color*          mpFillColor;
@@ -2486,10 +2487,8 @@ void OutputDevice::Push( sal_uInt16 nFla
 		pData->meRasterOp = GetRasterOp();
 	if ( nFlags & PUSH_MAPMODE )
 	{
-		if ( mbMap )
-			pData->mpMapMode = new MapMode( maMapMode );
-		else
-			pData->mpMapMode = NULL;
+		pData->mpMapMode = new MapMode( maMapMode );
+        pData->mbMapActive = mbMap;
 	}
 	if ( nFlags & PUSH_CLIPREGION )
 	{
@@ -2588,6 +2587,7 @@ void OutputDevice::Pop()
 			SetMapMode( *pData->mpMapMode );
 		else
 			SetMapMode();
+        mbMap = pData->mbMapActive;
 	}
 	if ( pData->mnFlags & PUSH_CLIPREGION )
 		ImplSetClipRegion( pData->mpClipRegion );

Modified: openoffice/trunk/main/vcl/source/gdi/outdev6.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/vcl/source/gdi/outdev6.cxx?rev=1479828&r1=1479827&r2=1479828&view=diff
==============================================================================
--- openoffice/trunk/main/vcl/source/gdi/outdev6.cxx (original)
+++ openoffice/trunk/main/vcl/source/gdi/outdev6.cxx Tue May  7 09:34:50 2013
@@ -1255,7 +1255,7 @@ void OutputDevice::DrawCheckered(const P
     const sal_uInt32 nMaxX(rPos.X() + rSize.Width());
     const sal_uInt32 nMaxY(rPos.Y() + rSize.Height());
 
-    Push();
+    Push(PUSH_LINECOLOR|PUSH_FILLCOLOR);
     SetLineColor();
 
     for(sal_uInt32 x(0), nX(rPos.X()); nX < nMaxX; x++, nX += nLen)