summaryrefslogtreecommitdiff
path: root/slideshow/source
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2021-08-05 13:54:17 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2021-08-05 15:40:54 +0200
commit63773ac90ed83987063077184e48b526f70216eb (patch)
tree8560edd38463ec216cc48ba5b9ed6c9e10d6ba04 /slideshow/source
parente05e05d26ea1421c919a789c9c1afd393e0c19b2 (diff)
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 <noel.grandin@collabora.co.uk>
Diffstat (limited to 'slideshow/source')
-rw-r--r--slideshow/source/engine/eventqueue.cxx16
-rw-r--r--slideshow/source/inc/eventqueue.hxx4
2 files changed, 10 insertions, 10 deletions
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<double>::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 <canvas/elapsedtime.hxx>
+#include <osl/mutex.hxx>
#include "event.hxx"
-#include <mutex>
#include <queue>
#include <vector>
@@ -116,7 +116,7 @@ namespace slideshow::internal
getTimer() const { return mpTimer; }
private:
- mutable std::mutex maMutex;
+ mutable ::osl::Mutex maMutex;
struct EventEntry
{