From 58b05ce98e72fe47bdca02d2dabea20c36a494bf Mon Sep 17 00:00:00 2001 From: Michael Meeks Date: Mon, 28 Jan 2013 20:03:20 +1100 Subject: fdo#59881 - sdremote: give up on threaded / UNO usage. Process incoming commands in the main thread in a Timeout, build thumbnail / previews there too - to avoid the deadlocks mentioned in the bug. Change-Id: I5f5e8d6fbc2e059d4194f72f3e086e1aa87ab2cc --- slideshow/source/engine/slideshowimpl.cxx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'slideshow') diff --git a/slideshow/source/engine/slideshowimpl.cxx b/slideshow/source/engine/slideshowimpl.cxx index cf672ae296ac..d3cdbbea6ae7 100644 --- a/slideshow/source/engine/slideshowimpl.cxx +++ b/slideshow/source/engine/slideshowimpl.cxx @@ -2131,7 +2131,7 @@ sal_Bool SlideShowImpl::update( double & nNextTimeout ) void SlideShowImpl::notifySlideTransitionEnded( bool bPaintSlide ) { - osl::MutexGuard const guard( m_aMutex ); + osl::ResettableMutexGuard guard( m_aMutex ); OSL_ENSURE( !isDisposed(), "### already disposed!" ); OSL_ENSURE( mpCurrentSlide, @@ -2144,6 +2144,10 @@ void SlideShowImpl::notifySlideTransitionEnded( bool bPaintSlide ) // the chance to register SlideStartEvents const bool bBackgroundLayerRendered( !bPaintSlide ); mpCurrentSlide->show( bBackgroundLayerRendered ); + + uno::Reference xThis( + static_cast< presentation::XSlideShow * >( this ), uno::UNO_QUERY_THROW ); + guard.reset(); // unlock maEventMultiplexer.notifySlideStartEvent(); } } -- cgit