Author: alg
Date: Tue Jul 9 09:29:13 2013
New Revision: 1501160
URL: http://svn.apache.org/r1501160
Log:
i118671 take emergency exit when local slideshow is disposed from executing
macros
Modified:
openoffice/trunk/main/slideshow/source/engine/slideshowimpl.cxx
Modified: openoffice/trunk/main/slideshow/source/engine/slideshowimpl.cxx
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/slideshow/source/engine/slideshowimpl.cxx?rev=1501160&r1=1501159&r2=1501160&view=diff
==============================================================================
--- openoffice/trunk/main/slideshow/source/engine/slideshowimpl.cxx (original)
+++ openoffice/trunk/main/slideshow/source/engine/slideshowimpl.cxx Tue Jul 9
09:29:13 2013
@@ -2051,6 +2051,18 @@ sal_Bool SlideShowImpl::update( double &
// process queues
maEventQueue.process();
+
+ // #118671# 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