diff options
-rw-r--r-- | basctl/source/dlged/dlged.cxx | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/basctl/source/dlged/dlged.cxx b/basctl/source/dlged/dlged.cxx index 20d7648e5b93..d96cbbdead42 100644 --- a/basctl/source/dlged/dlged.cxx +++ b/basctl/source/dlged/dlged.cxx @@ -4,9 +4,9 @@ * * $RCSfile: dlged.cxx,v $ * - * $Revision: 1.48 $ + * $Revision: 1.49 $ * - * last change: $Author: kz $ $Date: 2007-06-20 10:39:15 $ + * last change: $Author: hr $ $Date: 2007-06-26 12:09:32 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -155,6 +155,11 @@ #include <toolkit/helper/vclunohelper.hxx> #endif +// #i74769# +#ifndef _SDRPAINTWINDOW_HXX +#include <svx/sdrpaintwindow.hxx> +#endif + using namespace comphelper; using namespace ::com::sun::star; using namespace ::com::sun::star::uno; @@ -462,7 +467,8 @@ void DlgEditor::DoScroll( ScrollBar* ) // Wallpaper aOldBackground = pWindow->GetBackground(); // pWindow->SetBackground(); - pWindow->Scroll( -nX, -nY, SCROLL_NOCHILDREN ); + // #i74769# children should be scrolled + pWindow->Scroll( -nX, -nY, SCROLL_CHILDREN); // SCROLL_NOCHILDREN ); aMap.SetOrigin( Point( -aScrollPos.Width(), -aScrollPos.Height() ) ); pWindow->SetMapMode( aMap ); pWindow->Update(); @@ -712,10 +718,14 @@ IMPL_LINK( DlgEditor, PaintTimeout, Timer *, EMPTYARG ) SdrPageView* pPgView = pDlgEdView->GetSdrPageView(); const Region aPaintRectRegion(aPaintRect); + // #i74769# + SdrPaintWindow* pTargetPaintWindow = 0; + // mark repaint start if(pPgView) { - pPgView->GetView().BeginDrawLayers(pWindow, aPaintRectRegion, sal_False); + pTargetPaintWindow = pPgView->GetView().BeginDrawLayers(pWindow, aPaintRectRegion); + OSL_ENSURE(pTargetPaintWindow, "BeginDrawLayers: Got no SdrPaintWindow (!)"); } // draw background self using wallpaper @@ -728,7 +738,7 @@ IMPL_LINK( DlgEditor, PaintTimeout, Timer *, EMPTYARG ) if(pPgView) { pPgView->DrawLayer(0, pWindow); - pPgView->GetView().EndDrawLayers(pWindow); + pPgView->GetView().EndDrawLayers(*pTargetPaintWindow); } nInPaint = FALSE; |