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