diff options
author | Michael Stahl <mstahl@redhat.com> | 2013-10-02 23:25:44 +0200 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2013-10-02 23:52:44 +0200 |
commit | 78f05c0a6514ca084051f16498513033dacb14aa (patch) | |
tree | a6d26de1ea3fb137cd2e1d87b8b085a4a33c4874 /include | |
parent | cf88ebc1f7d358a1dcd9e5b49026194e05916896 (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.hxx | 3 |
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) { |