diff options
author | Michael Stahl <mstahl@redhat.com> | 2013-11-19 20:12:23 +0100 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2013-11-20 01:33:42 +0100 |
commit | 3e1c7d12eeefdfc50b842fe34f3db657292359b9 (patch) | |
tree | ede628029df8a2a9aba9eece4f6876a6ffc2b371 /winaccessibility/source/service/msaaservice_impl.cxx | |
parent | ed750424f7c02b0ae868f33731f90885a4946f47 (diff) |
winaccessibility: replace mysterious and inexplicable locking strategy
Do the conservative thing and lock the SolarMutex at every UNO API entry
point.
Change-Id: I51afffada975df7ee3435784aa050a2c19cd0ac8
Diffstat (limited to 'winaccessibility/source/service/msaaservice_impl.cxx')
-rw-r--r-- | winaccessibility/source/service/msaaservice_impl.cxx | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/winaccessibility/source/service/msaaservice_impl.cxx b/winaccessibility/source/service/msaaservice_impl.cxx index f5bf0fc2185e..6b27c9a913fc 100644 --- a/winaccessibility/source/service/msaaservice_impl.cxx +++ b/winaccessibility/source/service/msaaservice_impl.cxx @@ -114,6 +114,8 @@ void MSAAServiceImpl::initialize( Sequence< Any > const & args ) throw (Exceptio */ sal_Int32 MSAAServiceImpl::getAccObjectPtr ( long hWnd, long lParam, long wParam) throw (RuntimeException) { + SolarMutexGuard g; + return GetMSComPtr( hWnd, lParam, wParam ); } @@ -125,6 +127,8 @@ sal_Int32 MSAAServiceImpl::getAccObjectPtr ( long hWnd, long lParam, long wParam */ void MSAAServiceImpl::handleWindowOpened( sal_Int32 nAcc) { + SolarMutexGuard g; + SAL_INFO( "iacc2", "Window opened " << nAcc ); handleWindowOpened_impl( nAcc ); } @@ -308,6 +312,8 @@ MSAAServiceImpl::~MSAAServiceImpl() void MSAAServiceImpl::dispose() { + SolarMutexGuard g; + // As all folders and streams contain references to their parents, // we must remove these references so that they will be deleted when // the hash_map of the root folder is cleared, releasing all subfolders |