You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by al...@apache.org on 2013/07/09 11:29:13 UTC

svn commit: r1501160 - /openoffice/trunk/main/slideshow/source/engine/slideshowimpl.cxx

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