| author | Caolán McNamara <caolanm@redhat.com> | 2011-12-06 16:26:05 (GMT) |
|---|---|---|
| committer | Caolán McNamara <caolanm@redhat.com> | 2011-12-06 16:26:05 (GMT) |
| commit | d57887eaad534ca51fc4975918fab66b2f93633d (patch) (side-by-side diff) | |
| tree | 1c7d2755c0336306800e7ac7c08a4653caf71b97 | |
| parent | 392f0990e4b7ef7338aa901735c7a6cc7632dd40 (diff) | |
| download | core-d57887eaad534ca51fc4975918fab66b2f93633d.zip core-d57887eaad534ca51fc4975918fab66b2f93633d.tar.gz | |
Resolves: rhbz#759647 ::dispose clears mpPresTimer before releaseTimer called
| -rw-r--r-- | 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(); |
