Resolves: rhbz#759647 dispose clears mpPresTimer

This commit is contained in:
Caolán McNamara 2011-12-07 12:36:23 +00:00
parent df327dda1c
commit e09904554e
2 changed files with 40 additions and 1 deletions

View File

@ -0,0 +1,34 @@
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

View File

@ -27,7 +27,7 @@ Summary: Free Software Productivity Suite
Name: libreoffice
Epoch: 1
Version: 3.4.4.2
Release: 5%{?dist}
Release: 6%{?dist}
License: LGPLv3 and LGPLv2+ and BSD and (MPLv1.1 or GPLv2 or LGPLv2 or Netscape) and (CDDL or GPLv2) and Public Domain
Group: Applications/Productivity
URL: http://www.documentfoundation.org/develop
@ -149,6 +149,7 @@ Patch40: solenv.fix.mk.inheritance.patch
Patch41: libreoffice-ppc64.patch
Patch42: 0001-Resolves-rhbz-751290-KDE-black-on-dark-tooltips.patch
Patch43: 0001-gtk3-fix-cairo-canvas-crash-for-non-X-or-svp-backend.patch
Patch44: 0001-Resolves-rhbz-759647-dispose-clears-mpPresTimer-befo.patch
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
%define instdir %{_libdir}
@ -838,6 +839,7 @@ mv -f redhat.soc extras/source/palettes/standard.soc
%patch41 -p1 -b .libreoffice-ppc64.patch
%patch42 -p1 -b .rhbz751290-KDE-black-on-dark-tooltips.patch
%patch43 -p1 -b .fix-cairo-canvas-crash-for-non-X-or-svp-backend.patch
%patch44 -p1 -b .rhbz759647-dispose-clears-mpPresTimer-befo.patch
# these are horribly incomplete--empty translations and copied english
# strings with spattering of translated strings
@ -2146,6 +2148,9 @@ update-desktop-database %{_datadir}/applications &> /dev/null || :
%endif
%changelog
* Wed Dec 07 2011 Caolán McNamara <caolanm@redhat.com> - 3.4.4.2-6
- Resolves: rhbz#759647 dispose clears mpPresTimer
* Tue Nov 29 2011 Caolán McNamara <caolanm@redhat.com> - 3.4.4.2-5
- Resolves: rhbz#757653 fix headless crash with cairo canvas