summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2013-10-02 23:25:44 +0200
committerMichael Stahl <mstahl@redhat.com>2013-10-02 23:52:44 +0200
commit78f05c0a6514ca084051f16498513033dacb14aa (patch)
treea6d26de1ea3fb137cd2e1d87b8b085a4a33c4874 /include
parentcf88ebc1f7d358a1dcd9e5b49026194e05916896 (diff)
toolkit: avoid deadlock in UnoControl::setDesignMode()
Avoid deadlock by disposing the accesibility context without the Mutex locked, since it will eventually try to acquire the SolarMutex... Thread 1 in UnoControl::getPosSize() calling from sdr::contact::ControlHolder::getPosSize() Thread 2 calling from UnoControl::setDesignMode() trying to get SolarMutex in VCLXWindow::disposing() Change-Id: I7d0ffe4fa0f8cd0c48e9b9b5e923ce229f97ca57
Diffstat (limited to 'include')
-rw-r--r--include/toolkit/controls/unocontrol.hxx3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/toolkit/controls/unocontrol.hxx b/include/toolkit/controls/unocontrol.hxx
index 66651666e29f..15aa918abb45 100644
--- a/include/toolkit/controls/unocontrol.hxx
+++ b/include/toolkit/controls/unocontrol.hxx
@@ -124,7 +124,8 @@ protected:
void ImplLockPropertyChangeNotification( const OUString& rPropertyName, bool bLock );
void ImplLockPropertyChangeNotifications( const ::com::sun::star::uno::Sequence< OUString >& rPropertyNames, bool bLock );
- void disposeAccessibleContext();
+ void DisposeAccessibleContext(::com::sun::star::uno::Reference<
+ ::com::sun::star::lang::XComponent> const& xContext);
inline void setPeer( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindowPeer >& _xPeer)
{