diff options
author | Armin Le Grand <alg@apache.org> | 2013-05-07 09:34:50 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2013-05-12 15:46:52 +0100 |
commit | f94000bf5be0e1e0f9196306c6de5741707ad7b7 (patch) | |
tree | 1f97b554ac28359b137acce77a4d8e9a38a736d9 /vcl/source/gdi/outdev.cxx | |
parent | ed43421545c86f85b5fc4b9a33be077748fb8487 (diff) |
Resolves: #i122241# Made Push/Pop with PUSH_MAPMODE safe...
for mbMap flag and MapMode preservation
(cherry picked from commit 664f4d882129c98d502463e08ce601259b85fc8c)
Change-Id: Ibe062a01c495ca0e067e9c4399b55fccf65baebe
(cherry picked from commit 579a09b817eada81f1ffbfffa38b63bd5ca34165)
Diffstat (limited to 'vcl/source/gdi/outdev.cxx')
-rw-r--r-- | vcl/source/gdi/outdev.cxx | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/vcl/source/gdi/outdev.cxx b/vcl/source/gdi/outdev.cxx index 7c03af02aed3..4fba08f706da 100644 --- a/vcl/source/gdi/outdev.cxx +++ b/vcl/source/gdi/outdev.cxx @@ -105,6 +105,7 @@ struct ImplObjStack { ImplObjStack* mpPrev; MapMode* mpMapMode; + bool mbMapActive; Region* mpClipRegion; Color* mpLineColor; Color* mpFillColor; @@ -2351,10 +2352,8 @@ void OutputDevice::Push( sal_uInt16 nFlags ) 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 ) { @@ -2450,6 +2449,7 @@ void OutputDevice::Pop() SetMapMode( *pData->mpMapMode ); else SetMapMode(); + mbMap = pData->mbMapActive; } if ( pData->mnFlags & PUSH_CLIPREGION ) ImplSetClipRegion( pData->mpClipRegion ); |