[Libreoffice-commits] core.git: vcl/source

Chris Sherlock chris.sherlock79 at gmail.com
Wed Feb 5 06:43:06 PST 2014


 vcl/source/window/window2.cxx |   23 ++++++++++++++---------
 1 file changed, 14 insertions(+), 9 deletions(-)

New commits:
commit 8f542a605baec0b777effbb3e6666eff09a09a28
Author: Chris Sherlock <chris.sherlock79 at gmail.com>
Date:   Mon Feb 3 22:53:05 2014 +1100

    fdo#74424 Use Window::GetOutDev() to access ImplDrawFrameDev()
    
    Part of the decoupling of Window from OutputDevice. We now get
    the Window's OutputDevice instance and manipulate this. Do not rely
    on the inherited function.
    
    Change-Id: Ie1381b06b940f9220ee77606f9882aa7a4ea1381
    Reviewed-on: https://gerrit.libreoffice.org/7808
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/vcl/source/window/window2.cxx b/vcl/source/window/window2.cxx
index ba9976b..e407bcf 100644
--- a/vcl/source/window/window2.cxx
+++ b/vcl/source/window/window2.cxx
@@ -173,9 +173,11 @@ void Window::ImplSaveOverlapBackground()
                     mpWindowImpl->mpOverlapData->mnSaveBackSize = nSaveBackSize;
                     mpWindowImpl->mpFrameData->mnAllSaveBackSize += nSaveBackSize;
                     Point aDevPt;
-                    mpWindowImpl->mpFrameWindow->ImplGetFrameDev( Point( mnOutOffX, mnOutOffY ),
-                                                    aDevPt, aOutSize,
-                                                    *(mpWindowImpl->mpOverlapData->mpSaveBackDev) );
+
+                    OutputDevice *pOutDev = mpWindowImpl->mpFrameWindow->GetOutDev();
+                    pOutDev->ImplGetFrameDev( Point( mnOutOffX, mnOutOffY ),
+                                              aDevPt, aOutSize,
+                                              *(mpWindowImpl->mpOverlapData->mpSaveBackDev) );
                     mpWindowImpl->mpOverlapData->mpNextBackWin = mpWindowImpl->mpFrameData->mpFirstBackWin;
                     mpWindowImpl->mpFrameData->mpFirstBackWin = this;
                 }
@@ -203,20 +205,23 @@ sal_Bool Window::ImplRestoreOverlapBackground( Region& rInvRegion )
             Point   aDevPt;
             Point   aDestPt( mnOutOffX, mnOutOffY );
             Size    aDevSize = mpWindowImpl->mpOverlapData->mpSaveBackDev->GetOutputSizePixel();
+
+            OutputDevice *pOutDev = mpWindowImpl->mpFrameWindow->GetOutDev();
+
             if ( mpWindowImpl->mpOverlapData->mpSaveBackRgn )
             {
                 mpWindowImpl->mpOverlapData->mpSaveBackRgn->Intersect( mpWindowImpl->maWinClipRegion );
                 rInvRegion = mpWindowImpl->maWinClipRegion;
                 rInvRegion.Exclude( *mpWindowImpl->mpOverlapData->mpSaveBackRgn );
-                mpWindowImpl->mpFrameWindow->ImplDrawFrameDev( aDestPt, aDevPt, aDevSize,
-                                                 *(mpWindowImpl->mpOverlapData->mpSaveBackDev),
-                                                 *mpWindowImpl->mpOverlapData->mpSaveBackRgn );
+                pOutDev->ImplDrawFrameDev( aDestPt, aDevPt, aDevSize,
+                                           *(mpWindowImpl->mpOverlapData->mpSaveBackDev),
+                                           *mpWindowImpl->mpOverlapData->mpSaveBackRgn );
             }
             else
             {
-                mpWindowImpl->mpFrameWindow->ImplDrawFrameDev( aDestPt, aDevPt, aDevSize,
-                                                 *(mpWindowImpl->mpOverlapData->mpSaveBackDev),
-                                                 mpWindowImpl->maWinClipRegion );
+                pOutDev->ImplDrawFrameDev( aDestPt, aDevPt, aDevSize,
+                                           *(mpWindowImpl->mpOverlapData->mpSaveBackDev),
+                                           mpWindowImpl->maWinClipRegion );
             }
             ImplDeleteOverlapBackground();
         }


More information about the Libreoffice-commits mailing list