diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-10-13 10:46:59 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-10-13 10:47:00 +0200 |
commit | 1631fa9a722553da1ebe0650a65e859862c4405d (patch) | |
tree | e1503c55b8f9822d7fe19ebdde83f495b23f7de9 | |
parent | 7000c07834af2231145519ae6fd81c6297bf9004 (diff) |
tdf#95002 sd tiled rendering: fix handling of images on page switch
It turns out a full invalidation is still needed to trigger the loading
of graphics on the new page, so instead of not invalidating just don't
emit the notification about it during page switch.
Change-Id: Ic99a3d4e268b3db61cf09c78ed0f310c9d365867
-rw-r--r-- | include/svx/svdpagv.hxx | 2 | ||||
-rw-r--r-- | sd/source/ui/inc/DrawViewShell.hxx | 1 | ||||
-rw-r--r-- | sd/source/ui/view/drviews1.cxx | 3 | ||||
-rw-r--r-- | sd/source/ui/view/sdwindow.cxx | 4 | ||||
-rw-r--r-- | svx/source/svdraw/svdpagv.cxx | 5 |
5 files changed, 9 insertions, 6 deletions
diff --git a/include/svx/svdpagv.hxx b/include/svx/svdpagv.hxx index 04b18f97b690..48c5b5bae554 100644 --- a/include/svx/svdpagv.hxx +++ b/include/svx/svdpagv.hxx @@ -221,7 +221,7 @@ public: const SetOfByte& GetLockedLayers() const { return aLayerLock; } const SdrHelpLineList& GetHelpLines() const { return aHelpLines; } - void SetHelpLines(const SdrHelpLineList& rHLL, bool bInvalidate = true); + void SetHelpLines(const SdrHelpLineList& rHLL); //void SetHelpLinePos(sal_uInt16 nNum, const Point& rNewPos); void SetHelpLine(sal_uInt16 nNum, const SdrHelpLine& rNewHelpLine); void DeleteHelpLine(sal_uInt16 nNum); diff --git a/sd/source/ui/inc/DrawViewShell.hxx b/sd/source/ui/inc/DrawViewShell.hxx index 1854d6519239..971c5dcd2274 100644 --- a/sd/source/ui/inc/DrawViewShell.hxx +++ b/sd/source/ui/inc/DrawViewShell.hxx @@ -387,6 +387,7 @@ public: const Color& GetAppBackgroundColor() const { return mnAppBackgroundColor; } void SetAppBackgroundColor( Color nNewColor ) { mnAppBackgroundColor = nNewColor; } + bool IsInSwitchPage() { return mbIsInSwitchPage; } //move this method to ViewShell. //void NotifyAccUpdate(); diff --git a/sd/source/ui/view/drviews1.cxx b/sd/source/ui/view/drviews1.cxx index 0ff2d8bcad28..cf146aef2fd8 100644 --- a/sd/source/ui/view/drviews1.cxx +++ b/sd/source/ui/view/drviews1.cxx @@ -992,8 +992,7 @@ bool DrawViewShell::SwitchPage(sal_uInt16 nSelectedPage) } else { - bool bInvalidate = !comphelper::LibreOfficeKit::isActive(); - pNewPageView->SetHelpLines( mpFrameView->GetStandardHelpLines(), bInvalidate ); + pNewPageView->SetHelpLines( mpFrameView->GetStandardHelpLines() ); } } diff --git a/sd/source/ui/view/sdwindow.cxx b/sd/source/ui/view/sdwindow.cxx index 83b65bd0ca48..2f5330726a4d 100644 --- a/sd/source/ui/view/sdwindow.cxx +++ b/sd/source/ui/view/sdwindow.cxx @@ -1006,6 +1006,10 @@ Selection Window::GetSurroundingTextSelection() const void Window::LogicInvalidate(const Rectangle* pRectangle) { + DrawViewShell* pDrawViewShell = dynamic_cast<DrawViewShell*>(mpViewShell); + if (pDrawViewShell && pDrawViewShell->IsInSwitchPage()) + return; + OString sRectangle; if (!pRectangle) sRectangle = "EMPTY"; diff --git a/svx/source/svdraw/svdpagv.cxx b/svx/source/svdraw/svdpagv.cxx index bb7c9212c21b..003777192ade 100644 --- a/svx/source/svdraw/svdpagv.cxx +++ b/svx/source/svdraw/svdpagv.cxx @@ -741,11 +741,10 @@ void SdrPageView::ImpInvalidateHelpLineArea(sal_uInt16 nNum) const } } -void SdrPageView::SetHelpLines(const SdrHelpLineList& rHLL, bool bInvalidate) +void SdrPageView::SetHelpLines(const SdrHelpLineList& rHLL) { aHelpLines=rHLL; - if (bInvalidate) - InvalidateAllWin(); + InvalidateAllWin(); } void SdrPageView::SetHelpLine(sal_uInt16 nNum, const SdrHelpLine& rNewHelpLine) |