From 41fe248a52c4685a4f59dd18bb9885f3576fd0ed Mon Sep 17 00:00:00 2001 From: Mihai Varga 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 Reviewed-by: Jan Holesovsky (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