Kaydet (Commit) 84da4113 authored tarafından Thorsten Behrens's avatar Thorsten Behrens

Fix slideshow crasher

Recursive event loop killed SlideshowImpl object under my hands -
make it stay until we pop out of callstack again.
üst c2439ecd
...@@ -1873,6 +1873,9 @@ IMPL_LINK( SlideshowImpl, updateHdl, Timer*, EMPTYARG ) ...@@ -1873,6 +1873,9 @@ IMPL_LINK( SlideshowImpl, updateHdl, Timer*, EMPTYARG )
IMPL_LINK( SlideshowImpl, PostYieldListener, void*, EMPTYARG ) IMPL_LINK( SlideshowImpl, PostYieldListener, void*, EMPTYARG )
{ {
// prevent me from deletion when recursing (App::Reschedule does)
const rtl::Reference<SlideshowImpl> this_(this);
Application::EnableNoYieldMode(false); Application::EnableNoYieldMode(false);
Application::RemovePostYieldListener(LINK(this, SlideshowImpl, PostYieldListener)); Application::RemovePostYieldListener(LINK(this, SlideshowImpl, PostYieldListener));
Application::Reschedule(true); // fix for fdo#32861 - process Application::Reschedule(true); // fix for fdo#32861 - process
...@@ -1888,7 +1891,7 @@ IMPL_LINK( SlideshowImpl, PostYieldListener, void*, EMPTYARG ) ...@@ -1888,7 +1891,7 @@ IMPL_LINK( SlideshowImpl, PostYieldListener, void*, EMPTYARG )
sal_Int32 SlideshowImpl::updateSlideShow (void) sal_Int32 SlideshowImpl::updateSlideShow (void)
{ {
// doing some nMagic // prevent me from deletion when recursing (App::EnableYieldMode does)
const rtl::Reference<SlideshowImpl> this_(this); const rtl::Reference<SlideshowImpl> this_(this);
Reference< XSlideShow > xShow( mxShow ); Reference< XSlideShow > xShow( mxShow );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment