summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Kaganski <mike.kaganski@collabora.com>2024-04-04 12:04:12 +0500
committerMike Kaganski <mike.kaganski@collabora.com>2024-04-04 13:21:14 +0200
commit466156f14d8dee7e3e629dd72dc9c40ddc7262e8 (patch)
tree165fecccc15164d15c3a1360fbec092d8d196d5a
parent6eefe3a29df4b0862a455a2d057e4a7d88457c71 (diff)
Use osl::ResettableMutexGuardScopedReleaser instead of ad-hoc guards
Change-Id: I2aa09655c207d3647650b5e38011a600bd221699 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165777 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
-rw-r--r--embeddedobj/source/inc/oleembobj.hxx16
-rw-r--r--embeddedobj/source/msole/oleembed.cxx4
-rw-r--r--embeddedobj/source/msole/olevisual.cxx2
-rw-r--r--svl/source/undo/undo.cxx11
4 files changed, 5 insertions, 28 deletions
diff --git a/embeddedobj/source/inc/oleembobj.hxx b/embeddedobj/source/inc/oleembobj.hxx
index 983f242308cf..087a3c829527 100644
--- a/embeddedobj/source/inc/oleembobj.hxx
+++ b/embeddedobj/source/inc/oleembobj.hxx
@@ -454,26 +454,12 @@ public:
css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override;
};
-class ClearedMutexArea
-{
-public:
- ClearedMutexArea(osl::ResettableMutexGuard& guard)
- : m_guard(guard)
- {
- m_guard.clear();
- }
- ~ClearedMutexArea() { m_guard.reset(); }
-
-private:
- osl::ResettableMutexGuard& m_guard;
-};
-
namespace
{
#if defined(_WIN32)
template <class Proc> auto ExecUnlocked(Proc proc, osl::ResettableMutexGuard& guard)
{
- ClearedMutexArea area(guard);
+ osl::ResettableMutexGuardScopedReleaser area(guard);
return proc();
}
#endif
diff --git a/embeddedobj/source/msole/oleembed.cxx b/embeddedobj/source/msole/oleembed.cxx
index a7a2bf661d70..a055ceae2249 100644
--- a/embeddedobj/source/msole/oleembed.cxx
+++ b/embeddedobj/source/msole/oleembed.cxx
@@ -870,7 +870,7 @@ void SAL_CALL OleEmbeddedObject::doVerb( sal_Int32 nVerbID )
m_aVerbExecutionController.StartControlExecution();
{
- ClearedMutexArea clearedMutex(aGuard);
+ osl::ResettableMutexGuardScopedReleaser clearedMutex(aGuard);
m_pOleComponent->ExecuteVerb(nVerbID);
m_pOleComponent->SetHostName(m_aContainerName);
}
@@ -1153,7 +1153,7 @@ sal_Int64 SAL_CALL OleEmbeddedObject::getStatus( sal_Int64
else if ( m_pOleComponent )
{
{
- ClearedMutexArea clearedMutex(aGuard);
+ osl::ResettableMutexGuardScopedReleaser clearedMutex(aGuard);
m_nStatus = m_pOleComponent->GetMiscStatus(nAspect);
}
m_nStatusAspect = nAspect;
diff --git a/embeddedobj/source/msole/olevisual.cxx b/embeddedobj/source/msole/olevisual.cxx
index bcbacffe5d64..7b3e12e7339a 100644
--- a/embeddedobj/source/msole/olevisual.cxx
+++ b/embeddedobj/source/msole/olevisual.cxx
@@ -365,7 +365,7 @@ embed::VisualRepresentation SAL_CALL OleEmbeddedObject::getPreferredVisualRepres
embed::VisualRepresentation aVisualRepr;
{
- ClearedMutexArea clearedMutex(aGuard);
+ osl::ResettableMutexGuardScopedReleaser clearedMutex(aGuard);
aVisualRepr.Data = m_pOleComponent->getTransferData(aDataFlavor);
}
aVisualRepr.Flavor = aDataFlavor;
diff --git a/svl/source/undo/undo.cxx b/svl/source/undo/undo.cxx
index 96c937c037ad..488a0538244f 100644
--- a/svl/source/undo/undo.cxx
+++ b/svl/source/undo/undo.cxx
@@ -283,16 +283,7 @@ namespace svl::undo::impl
~UndoManagerGuard();
- struct ResetGuard {
- ResetGuard(osl::ResettableMutexGuard& r) : rGuard(r) {}
- ~ResetGuard() { rGuard.reset(); }
- osl::ResettableMutexGuard& rGuard;
- };
- ResetGuard clear()
- {
- m_aGuard.clear();
- return ResetGuard(m_aGuard);
- }
+ auto clear() { return osl::ResettableMutexGuardScopedReleaser(m_aGuard); }
void cancelNotifications()
{