diff options
author | Oliver Bolte <obo@openoffice.org> | 2007-01-22 14:17:10 +0000 |
---|---|---|
committer | Oliver Bolte <obo@openoffice.org> | 2007-01-22 14:17:10 +0000 |
commit | bc3bed30ed2609c4b51ce5ba9ccad1a6e41aedfe (patch) | |
tree | 9c3d02301558c3d9fd6756e7ea7005cbf78faf30 /svx/source/svdraw/svdpagv.cxx | |
parent | 921ec84121359a62a876eabace37220b45e9b84f (diff) |
INTEGRATION: CWS aw039 (1.54.42); FILE MERGED
2007/01/02 13:36:14 aw 1.54.42.1: #i72752# copy existing PaintRegion wen painting layers to an unknown device
Diffstat (limited to 'svx/source/svdraw/svdpagv.cxx')
-rw-r--r-- | svx/source/svdraw/svdpagv.cxx | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/svx/source/svdraw/svdpagv.cxx b/svx/source/svdraw/svdpagv.cxx index 471d8cce777e..2f3438d500c8 100644 --- a/svx/source/svdraw/svdpagv.cxx +++ b/svx/source/svdraw/svdpagv.cxx @@ -4,9 +4,9 @@ * * $RCSfile: svdpagv.cxx,v $ * - * $Revision: 1.54 $ + * $Revision: 1.55 $ * - * last change: $Author: vg $ $Date: 2006-11-21 16:56:58 $ + * last change: $Author: obo $ $Date: 2007-01-22 15:17:10 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -476,6 +476,18 @@ void SdrPageView::DrawLayer(SdrLayerID nID, OutputDevice* pGivenTarget, sal_uInt SdrPaintWindow aTemporaryPaintWindow(mrView, *pGivenTarget); SdrPageWindow aTemporaryPageWindow(*((SdrPageView*)this), aTemporaryPaintWindow); + // #i72752# + // Copy existing paint region if other PageWindows exist, this was created by + // PrepareRedraw() from BeginDrawLayer(). Needs to be used e.g. when suddenly SW + // paints into an unknown device other than the view was created for (e.g. VirtualDevice) + if(PageWindowCount()) + { + SdrPageWindow* pExistingPageWindow = GetPageWindow(0L); + SdrPaintWindow& rExistingPaintWindow = pExistingPageWindow->GetPaintWindow(); + const Region& rExistingRegion = rExistingPaintWindow.GetRedrawRegion(); + aTemporaryPaintWindow.SetRedrawRegion(rExistingRegion); + } + aTemporaryPageWindow.RedrawLayer(nPaintMode, &nID, pRedirector); } } |