reset the cache timeout on GetGraphic

f41
Caolán McNamara 11 years ago
parent fbc285d9a2
commit 62bbdcd5ac

@ -0,0 +1,63 @@
From 62b0eaf37c08dd27244e77b8bc90c691b000ebd6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Tue, 29 Apr 2014 14:17:11 +0100
Subject: [PATCH] Related: fdo#50697 reset the cache timeout on GetGraphic
so the graphic gets swapped out Xms after the last use and not Xms after
initial creation regardless of if it got used a moment earlier.
Change-Id: I1458f307d090ecd8d8d031b545f23e78bf1bcb67
---
include/svtools/grfmgr.hxx | 2 ++
svtools/source/graphic/grfmgr.cxx | 20 ++++++++++++++++++--
2 files changed, 20 insertions(+), 2 deletions(-)
diff --git a/include/svtools/grfmgr.hxx b/include/svtools/grfmgr.hxx
index 3e1423a..251ee6d 100644
--- a/include/svtools/grfmgr.hxx
+++ b/include/svtools/grfmgr.hxx
@@ -299,6 +299,8 @@ private:
DECL_LINK( ImplAutoSwapOutHdl, void* );
+ void SVT_DLLPRIVATE ResetCacheTimeOut();
+
protected:
virtual void GraphicManagerDestroyed();
diff --git a/svtools/source/graphic/grfmgr.cxx b/svtools/source/graphic/grfmgr.cxx
index 087d27b..a405ea7 100644
--- a/svtools/source/graphic/grfmgr.cxx
+++ b/svtools/source/graphic/grfmgr.cxx
@@ -744,10 +744,26 @@ void GraphicObject::StopAnimation( OutputDevice* pOut, long nExtraData )
mpSimpleCache->maGraphic.StopAnimation( pOut, nExtraData );
}
+void GraphicObject::ResetCacheTimeOut()
+{
+ if (mpSwapOutTimer)
+ {
+ mpSwapOutTimer->Stop();
+ mpSwapOutTimer->Start();
+ }
+}
+
const Graphic& GraphicObject::GetGraphic() const
{
- if( mbAutoSwapped )
- ( (GraphicObject*) this )->ImplAutoSwapIn();
+ GraphicObject *pThis = const_cast<GraphicObject*>(this);
+
+ if (mbAutoSwapped)
+ pThis->ImplAutoSwapIn();
+
+ //fdo#50697 If we've been asked to provide the graphic, then reset
+ //the cache timeout to start from now and not remain at the
+ //time of creation
+ pThis->ResetCacheTimeOut();
return maGraphic;
}
--
1.9.0

@ -301,6 +301,7 @@ Patch40: 0001-Related-fdo-36815-clip-overlarge-comment-contents.patch
Patch41: 0001-Resolves-rhbz-1092589-Thoroughly-check-whether-JRE-i.patch
Patch42: 0001-center-slide-after-changing-zoom.patch
Patch43: 0001-add-a-status-bar-icon-to-fit-slide-to-window.patch
Patch44: 0001-Related-fdo-50697-reset-the-cache-timeout-on-GetGrap.patch
%define instdir %{_libdir}
%define baseinstdir %{instdir}/libreoffice
@ -2267,6 +2268,7 @@ update-desktop-database %{_datadir}/applications &> /dev/null || :
* Thu May 08 2014 Caolán McNamara <caolanm@redhat.com> - 1:4.2.4.2-6
- center current slide after changing zoom
- add a status bar icon to fit slide to window
- Related: fdo#50697 reset the cache timeout on GetGraphic
* Thu May 08 2014 Stephan Bergmann <sbergman@redhat.com> - 1:4.2.4.2-5
- Resolves: rhbz#1092589 Thoroughly check whether JRE is still present

Loading…
Cancel
Save