From 63773ac90ed83987063077184e48b526f70216eb Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Thu, 5 Aug 2021 13:54:17 +0200 Subject: tdf#143728 Certain presentation crashes Impress after starting slideshow Revert "osl::Mutex->std::mutex in EventQueue" This reverts commit c0ce120b55ba389729e97babf80f2cb39ce38e9f. because we try to take the same lock twice Change-Id: Ie62659ec3407089f616d1ea950a3755300d68eef Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119988 Tested-by: Jenkins Reviewed-by: Noel Grandin --- slideshow/source/engine/eventqueue.cxx | 16 ++++++++-------- slideshow/source/inc/eventqueue.hxx | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) (limited to 'slideshow/source') diff --git a/slideshow/source/engine/eventqueue.cxx b/slideshow/source/engine/eventqueue.cxx index 73bf2a398e73..6094fa43bf89 100644 --- a/slideshow/source/engine/eventqueue.cxx +++ b/slideshow/source/engine/eventqueue.cxx @@ -77,7 +77,7 @@ namespace slideshow::internal bool EventQueue::addEvent( const EventSharedPtr& rEvent ) { - std::scoped_lock aGuard( maMutex ); + ::osl::MutexGuard aGuard( maMutex ); SAL_INFO("slideshow.eventqueue", "adding event \"" << rEvent->GetDescription() << "\" [" << rEvent.get() @@ -103,7 +103,7 @@ namespace slideshow::internal bool EventQueue::addEventForNextRound( EventSharedPtr const& rEvent ) { - std::scoped_lock aGuard( maMutex ); + ::osl::MutexGuard aGuard( maMutex ); SAL_INFO("slideshow.eventqueue", "adding event \"" << rEvent->GetDescription() << "\" [" << rEvent.get() @@ -120,7 +120,7 @@ namespace slideshow::internal bool EventQueue::addEventWhenQueueIsEmpty (const EventSharedPtr& rpEvent) { - std::scoped_lock aGuard( maMutex ); + ::osl::MutexGuard aGuard( maMutex ); SAL_INFO("slideshow.eventqueue", "adding event \"" << rpEvent->GetDescription() << "\" [" << rpEvent.get() @@ -140,14 +140,14 @@ namespace slideshow::internal void EventQueue::forceEmpty() { - std::scoped_lock aGuard( maMutex ); + ::osl::MutexGuard aGuard( maMutex ); process_(true); } void EventQueue::process() { - std::scoped_lock aGuard( maMutex ); + ::osl::MutexGuard aGuard( maMutex ); process_(false); } @@ -257,14 +257,14 @@ namespace slideshow::internal bool EventQueue::isEmpty() const { - std::scoped_lock aGuard( maMutex ); + ::osl::MutexGuard aGuard( maMutex ); return maEvents.empty() && maNextEvents.empty() && maNextNextEvents.empty(); } double EventQueue::nextTimeout() const { - std::scoped_lock aGuard( maMutex ); + ::osl::MutexGuard aGuard( maMutex ); // return time for next entry (if any) double nTimeout (::std::numeric_limits::max()); @@ -281,7 +281,7 @@ namespace slideshow::internal void EventQueue::clear() { - std::scoped_lock aGuard( maMutex ); + ::osl::MutexGuard aGuard( maMutex ); // TODO(P1): Maybe a plain vector and vector.swap will // be faster here. Profile. diff --git a/slideshow/source/inc/eventqueue.hxx b/slideshow/source/inc/eventqueue.hxx index fb0f1b8536eb..63c93f7a302d 100644 --- a/slideshow/source/inc/eventqueue.hxx +++ b/slideshow/source/inc/eventqueue.hxx @@ -21,10 +21,10 @@ #define INCLUDED_SLIDESHOW_SOURCE_INC_EVENTQUEUE_HXX #include +#include #include "event.hxx" -#include #include #include @@ -116,7 +116,7 @@ namespace slideshow::internal getTimer() const { return mpTimer; } private: - mutable std::mutex maMutex; + mutable ::osl::Mutex maMutex; struct EventEntry { -- cgit