[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-5.3' - svx/source

Jan Holesovsky kendy at collabora.com
Mon Apr 24 20:11:42 UTC 2017


 svx/source/svdraw/sdrpagewindow.cxx |   34 +++++++++++++++++-----------------
 1 file changed, 17 insertions(+), 17 deletions(-)

New commits:
commit f62d14ea33d9b936d58820300a5bee58b6cfa08a
Author: Jan Holesovsky <kendy at collabora.com>
Date:   Mon Apr 24 21:14:38 2017 +0200

    lok: When we actually have the OutputDevice, prefer that.
    
    Writer invalidation functionality depends on this actually.
    
    Change-Id: I0933c56ff3999a09118112ccf49bf00062c42444
    Reviewed-on: https://gerrit.libreoffice.org/36914
    Reviewed-by: Andras Timar <andras.timar at collabora.com>
    Tested-by: Andras Timar <andras.timar at collabora.com>

diff --git a/svx/source/svdraw/sdrpagewindow.cxx b/svx/source/svdraw/sdrpagewindow.cxx
index fcd8cbc678a1..9b7e9b1b8ad5 100644
--- a/svx/source/svdraw/sdrpagewindow.cxx
+++ b/svx/source/svdraw/sdrpagewindow.cxx
@@ -406,23 +406,7 @@ void SdrPageWindow::RedrawLayer( const SdrLayerID* pId, sdr::contact::ViewObject
 // Invalidate call, used from ObjectContact(OfPageView) in InvalidatePartOfView(...)
 void SdrPageWindow::InvalidatePageWindow(const basegfx::B2DRange& rRange)
 {
-    if (comphelper::LibreOfficeKit::isActive())
-    {
-        // we don't really have a paint window with LOK; OTOH we know that the
-        // drawinglayer units are 100ths of mm, so they are easy to convert to
-        // twips
-        const Rectangle aRect100thMM(
-            static_cast<long>(floor(rRange.getMinX())),
-            static_cast<long>(floor(rRange.getMinY())),
-            static_cast<long>(ceil(rRange.getMaxX())),
-            static_cast<long>(ceil(rRange.getMaxY())));
-
-        const Rectangle aRectTwips = OutputDevice::LogicToLogic(aRect100thMM, MapUnit::Map100thMM, MapUnit::MapTwip);
-
-        if (SfxViewShell* pViewShell = SfxViewShell::Current())
-            SfxLokHelper::notifyInvalidation(pViewShell, aRectTwips.toString());
-    }
-    else if (GetPageView().IsVisible() && GetPaintWindow().OutputToWindow())
+    if (GetPageView().IsVisible() && GetPaintWindow().OutputToWindow())
     {
         const SvtOptionsDrawinglayer aDrawinglayerOpt;
         vcl::Window& rWindow(static_cast< vcl::Window& >(GetPaintWindow().GetOutputDevice()));
@@ -447,6 +431,22 @@ void SdrPageWindow::InvalidatePageWindow(const basegfx::B2DRange& rRange)
         rWindow.Invalidate(aVCLDiscreteRectangle, InvalidateFlags::NoErase);
         rWindow.EnableMapMode(bWasMapModeEnabled);
     }
+    else if (comphelper::LibreOfficeKit::isActive())
+    {
+        // we don't really have to have a paint window with LOK; OTOH we know
+        // that the drawinglayer units are 100ths of mm, so they are easy to
+        // convert to twips
+        const Rectangle aRect100thMM(
+            static_cast<long>(floor(rRange.getMinX())),
+            static_cast<long>(floor(rRange.getMinY())),
+            static_cast<long>(ceil(rRange.getMaxX())),
+            static_cast<long>(ceil(rRange.getMaxY())));
+
+        const Rectangle aRectTwips = OutputDevice::LogicToLogic(aRect100thMM, MapUnit::Map100thMM, MapUnit::MapTwip);
+
+        if (SfxViewShell* pViewShell = SfxViewShell::Current())
+            SfxLokHelper::notifyInvalidation(pViewShell, aRectTwips.toString());
+    }
 }
 
 // ObjectContact section


More information about the Libreoffice-commits mailing list