Blame SOURCES/0201-tdf-95002-sd-tiled-rendering-fix-handling-of-images-.patch

f325b2
From 07a7cf95d91cbd776490543762902136280994fe Mon Sep 17 00:00:00 2001
f325b2
From: Miklos Vajna <vmiklos@collabora.co.uk>
f325b2
Date: Tue, 13 Oct 2015 10:46:59 +0200
f325b2
Subject: [PATCH 201/398] tdf#95002 sd tiled rendering: fix handling of images
f325b2
 on page switch
f325b2
f325b2
It turns out a full invalidation is still needed to trigger the loading
f325b2
of graphics on the new page, so instead of not invalidating just don't
f325b2
emit the notification about it during page switch.
f325b2
f325b2
(cherry picked from commit 1631fa9a722553da1ebe0650a65e859862c4405d)
f325b2
f325b2
Change-Id: Ic99a3d4e268b3db61cf09c78ed0f310c9d365867
f325b2
---
f325b2
 include/svx/svdpagv.hxx            | 2 +-
f325b2
 sd/source/ui/inc/DrawViewShell.hxx | 2 ++
f325b2
 sd/source/ui/view/drviews1.cxx     | 3 +--
f325b2
 sd/source/ui/view/sdwindow.cxx     | 4 ++++
f325b2
 svx/source/svdraw/svdpagv.cxx      | 5 ++---
f325b2
 5 files changed, 10 insertions(+), 6 deletions(-)
f325b2
f325b2
diff --git a/include/svx/svdpagv.hxx b/include/svx/svdpagv.hxx
f325b2
index 3b890c13cd70..f28e3e7cb79d 100644
f325b2
--- a/include/svx/svdpagv.hxx
f325b2
+++ b/include/svx/svdpagv.hxx
f325b2
@@ -224,7 +224,7 @@ public:
f325b2
     const SetOfByte& GetLockedLayers() const { return aLayerLock; }
f325b2
 
f325b2
     const SdrHelpLineList& GetHelpLines() const { return aHelpLines; }
f325b2
-    void SetHelpLines(const SdrHelpLineList& rHLL, bool bInvalidate = true);
f325b2
+    void SetHelpLines(const SdrHelpLineList& rHLL);
f325b2
     //void SetHelpLinePos(sal_uInt16 nNum, const Point& rNewPos);
f325b2
     void SetHelpLine(sal_uInt16 nNum, const SdrHelpLine& rNewHelpLine);
f325b2
     void DeleteHelpLine(sal_uInt16 nNum);
f325b2
diff --git a/sd/source/ui/inc/DrawViewShell.hxx b/sd/source/ui/inc/DrawViewShell.hxx
f325b2
index 405e7af90876..cba478b8af7e 100644
f325b2
--- a/sd/source/ui/inc/DrawViewShell.hxx
f325b2
+++ b/sd/source/ui/inc/DrawViewShell.hxx
f325b2
@@ -376,6 +376,8 @@ public:
f325b2
 
f325b2
     OUString GetSidebarContextName() const;
f325b2
 
f325b2
+    bool IsInSwitchPage() { return mbIsInSwitchPage; }
f325b2
+
f325b2
     //move this method to ViewShell.
f325b2
     //void  NotifyAccUpdate();
f325b2
 protected:
f325b2
diff --git a/sd/source/ui/view/drviews1.cxx b/sd/source/ui/view/drviews1.cxx
f325b2
index c92cfde79262..3b749419e860 100644
f325b2
--- a/sd/source/ui/view/drviews1.cxx
f325b2
+++ b/sd/source/ui/view/drviews1.cxx
f325b2
@@ -986,8 +986,7 @@ bool DrawViewShell::SwitchPage(sal_uInt16 nSelectedPage)
f325b2
                 }
f325b2
                 else
f325b2
                 {
f325b2
-                    bool bInvalidate = !comphelper::LibreOfficeKit::isActive();
f325b2
-                    pNewPageView->SetHelpLines( mpFrameView->GetStandardHelpLines(), bInvalidate );
f325b2
+                    pNewPageView->SetHelpLines( mpFrameView->GetStandardHelpLines() );
f325b2
                 }
f325b2
             }
f325b2
 
f325b2
diff --git a/sd/source/ui/view/sdwindow.cxx b/sd/source/ui/view/sdwindow.cxx
f325b2
index c9c4bfe15b61..7149cf99b694 100644
f325b2
--- a/sd/source/ui/view/sdwindow.cxx
f325b2
+++ b/sd/source/ui/view/sdwindow.cxx
f325b2
@@ -1006,6 +1006,10 @@ Selection Window::GetSurroundingTextSelection() const
f325b2
 
f325b2
 void Window::LogicInvalidate(const Rectangle* pRectangle)
f325b2
 {
f325b2
+    DrawViewShell* pDrawViewShell = dynamic_cast<DrawViewShell*>(mpViewShell);
f325b2
+    if (pDrawViewShell && pDrawViewShell->IsInSwitchPage())
f325b2
+        return;
f325b2
+
f325b2
     OString sRectangle;
f325b2
     if (!pRectangle)
f325b2
         sRectangle = "EMPTY";
f325b2
diff --git a/svx/source/svdraw/svdpagv.cxx b/svx/source/svdraw/svdpagv.cxx
f325b2
index 47fa8f52b471..9c74d433e1c9 100644
f325b2
--- a/svx/source/svdraw/svdpagv.cxx
f325b2
+++ b/svx/source/svdraw/svdpagv.cxx
f325b2
@@ -741,11 +741,10 @@ void SdrPageView::ImpInvalidateHelpLineArea(sal_uInt16 nNum) const
f325b2
     }
f325b2
 }
f325b2
 
f325b2
-void SdrPageView::SetHelpLines(const SdrHelpLineList& rHLL, bool bInvalidate)
f325b2
+void SdrPageView::SetHelpLines(const SdrHelpLineList& rHLL)
f325b2
 {
f325b2
     aHelpLines=rHLL;
f325b2
-    if (bInvalidate)
f325b2
-        InvalidateAllWin();
f325b2
+    InvalidateAllWin();
f325b2
 }
f325b2
 
f325b2
 void SdrPageView::SetHelpLine(sal_uInt16 nNum, const SdrHelpLine& rNewHelpLine)
f325b2
-- 
f325b2
2.12.0
f325b2