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)