[Libreoffice-commits] core.git: slideshow/source
Armin Le Grand
alg at apache.org
Tue Jul 9 06:51:35 PDT 2013
slideshow/source/engine/slideshowimpl.cxx | 12 ++++++++++++
1 file changed, 12 insertions(+)
New commits:
commit cc7a301dad831f8113cc3d737e2f4d23061a65ac
Author: Armin Le Grand <alg at apache.org>
Date: Tue Jul 9 09:29:13 2013 +0000
Resolves: #i118671# take emergency exit when local slideshow...
is disposed from executing macros
(cherry picked from commit 58eca806173ea9ede4efda89a96996d147227473)
Change-Id: Ifd07faa0a4bb051dea7b57b775eaf8818a7ce6d3
diff --git a/slideshow/source/engine/slideshowimpl.cxx b/slideshow/source/engine/slideshowimpl.cxx
index a37cdbc..f9e8ed8 100644
--- a/slideshow/source/engine/slideshowimpl.cxx
+++ b/slideshow/source/engine/slideshowimpl.cxx
@@ -2010,6 +2010,18 @@ sal_Bool SlideShowImpl::update( double & nNextTimeout )
// process queues
maEventQueue.process();
+
+ // #i118671# the call above may execute a macro bound to an object. In
+ // that case this macro may have destroyed this local sliseshow so that it
+ // is disposed (see bugdoc at task). In that case, detect this and exit
+ // gently from this slideshow. Do not forget to disable the scoped
+ // call to mpPresTimer, this will be deleted if we are disposed.
+ if (isDisposed())
+ {
+ scopeGuard.dismiss();
+ return false;
+ }
+
maActivitiesQueue.process();
// commit frame to screen
More information about the Libreoffice-commits
mailing list