Blob Blame History Raw
From 41fe248a52c4685a4f59dd18bb9885f3576fd0ed Mon Sep 17 00:00:00 2001
From: Mihai Varga <mihai.varga@collabora.com>
Date: Fri, 31 Jul 2015 18:24:33 +0300
Subject: [PATCH 087/398] Removed some whole page invalidations in impress

1. For tiled rendering, don't invalidate the whole page when hiding it
2. Don't invalidate when showing a page because we've just hidden the
previous one
3. No need for invalidation when setting visible layers

Change-Id: I858401b22c95093c58ec00896fe92b766fddb6de
Reviewed-on: https://gerrit.libreoffice.org/17452
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
(cherry picked from commit a381d16d23d0efb678e9e410db3ad23313693640)
---
 include/svx/svdpagv.hxx       | 2 +-
 svx/source/svdraw/svdpagv.cxx | 6 ++++--
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/include/svx/svdpagv.hxx b/include/svx/svdpagv.hxx
index 8bf305f6be60..f28e3e7cb79d 100644
--- a/include/svx/svdpagv.hxx
+++ b/include/svx/svdpagv.hxx
@@ -216,7 +216,7 @@ public:
     void PagePosToLogic(Point& rPnt) const { rPnt+=aPgOrg; }
     void PagePosToLogic(Rectangle& rRect) const { rRect.Move(aPgOrg.X(),aPgOrg.Y()); }
 
-    void SetVisibleLayers(const SetOfByte& rSet) { aLayerVisi=rSet; InvalidateAllWin(); }
+    void SetVisibleLayers(const SetOfByte& rSet) { aLayerVisi=rSet; }
     const SetOfByte& GetVisibleLayers() const { return aLayerVisi; }
     void SetPrintableLayers(const SetOfByte& rSet) { aLayerPrn=rSet; }
     const SetOfByte& GetPrintableLayers() const { return aLayerPrn;  }
diff --git a/svx/source/svdraw/svdpagv.cxx b/svx/source/svdraw/svdpagv.cxx
index e8caa445fe9c..9c74d433e1c9 100644
--- a/svx/source/svdraw/svdpagv.cxx
+++ b/svx/source/svdraw/svdpagv.cxx
@@ -229,7 +229,6 @@ void SdrPageView::Show()
     if(!IsVisible())
     {
         mbVisible = true;
-        InvalidateAllWin();
 
         for(sal_uInt32 a(0L); a < GetView().PaintWindowCount(); a++)
         {
@@ -242,7 +241,10 @@ void SdrPageView::Hide()
 {
     if(IsVisible())
     {
-        InvalidateAllWin();
+        if (!GetView().GetModel()->isTiledRendering())
+        {
+            InvalidateAllWin();
+        }
         mbVisible = false;
         ClearPageWindows();
     }
-- 
2.12.0