diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2024-04-04 12:04:12 +0500 |
---|---|---|
committer | Mike Kaganski <mike.kaganski@collabora.com> | 2024-04-04 13:21:14 +0200 |
commit | 466156f14d8dee7e3e629dd72dc9c40ddc7262e8 (patch) | |
tree | 165fecccc15164d15c3a1360fbec092d8d196d5a | |
parent | 6eefe3a29df4b0862a455a2d057e4a7d88457c71 (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.hxx | 16 | ||||
-rw-r--r-- | embeddedobj/source/msole/oleembed.cxx | 4 | ||||
-rw-r--r-- | embeddedobj/source/msole/olevisual.cxx | 2 | ||||
-rw-r--r-- | svl/source/undo/undo.cxx | 11 |
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() { |