summaryrefslogtreecommitdiff
path: root/comphelper
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2013-10-02 23:00:09 +0200
committerMichael Stahl <mstahl@redhat.com>2013-10-02 23:52:30 +0200
commit4100e3b6204fc304cc7b60b9d7ff2af75118b805 (patch)
treecd0e318e636017195c1191962dfddc1a9fb54c55 /comphelper
parentc3ef735fd5d8866c8ce28b89744150e733087427 (diff)
rhbz#1001768: avoid deadlock in OAccessibleContextHelper::disposing()
De facto this class is locked by SolarMutex, which is what the OExternalLockGuard actually locks; do not lock m_Mutex because it may cause deadlock. Change-Id: I88b226d73dbef9a5803347b0ac3191bec2ba4515
Diffstat (limited to 'comphelper')
-rw-r--r--comphelper/source/misc/accessiblecontexthelper.cxx4
1 files changed, 3 insertions, 1 deletions
diff --git a/comphelper/source/misc/accessiblecontexthelper.cxx b/comphelper/source/misc/accessiblecontexthelper.cxx
index b3169fd77be0..bb9047d5ca82 100644
--- a/comphelper/source/misc/accessiblecontexthelper.cxx
+++ b/comphelper/source/misc/accessiblecontexthelper.cxx
@@ -123,7 +123,9 @@ namespace comphelper
//---------------------------------------------------------------------
void SAL_CALL OAccessibleContextHelper::disposing()
{
- ::osl::ClearableMutexGuard aGuard( GetMutex() );
+ // rhbz#1001768: de facto this class is locked by SolarMutex;
+ // do not lock m_Mutex because it may cause deadlock
+ OMutexGuard aGuard( getExternalLock() );
if ( m_pImpl->getClientId( ) )
{