You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
1.4 KiB
35 lines
1.4 KiB
From d57887eaad534ca51fc4975918fab66b2f93633d Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
|
Date: Tue, 6 Dec 2011 16:26:05 +0000
|
|
Subject: [PATCH] Resolves: rhbz#759647 ::dispose clears mpPresTimer before
|
|
releaseTimer called
|
|
|
|
---
|
|
slideshow/source/engine/slideshowimpl.cxx | 8 ++++++--
|
|
1 files changed, 6 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/slideshow/source/engine/slideshowimpl.cxx b/slideshow/source/engine/slideshowimpl.cxx
|
|
index 5be3b62..4277280 100644
|
|
--- a/slideshow/source/engine/slideshowimpl.cxx
|
|
+++ b/slideshow/source/engine/slideshowimpl.cxx
|
|
@@ -2025,10 +2025,14 @@ sal_Bool SlideShowImpl::update( double & nNextTimeout )
|
|
// that have zero delay. While the timer is stopped these events
|
|
// are processed in the same run.
|
|
{
|
|
+ //Get a shared-ptr that outlives the scope-guard which will
|
|
+ //ensure that the pointed-to-item exists in the case of a
|
|
+ //::dispose clearing mpPresTimer
|
|
+ boost::shared_ptr<canvas::tools::ElapsedTime> xTimer(mpPresTimer);
|
|
comphelper::ScopeGuard scopeGuard(
|
|
boost::bind( &canvas::tools::ElapsedTime::releaseTimer,
|
|
- boost::cref(mpPresTimer) ) );
|
|
- mpPresTimer->holdTimer();
|
|
+ boost::cref(xTimer) ) );
|
|
+ xTimer->holdTimer();
|
|
|
|
// process queues
|
|
maEventQueue.process();
|
|
--
|
|
1.7.6.4
|
|
|