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


Reply via email to