diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2015-06-17 15:18:10 +0200 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2015-08-06 12:23:05 +0200 |
commit | 91fb34e5bb8616e4fe7d30786d59c5383d8aa4e1 (patch) | |
tree | c4d1a99e8637df919be19ee9eb253bc402f3d750 /dbaccess | |
parent | 999c01c133640d366d1ab28e5686b36cb2976fc4 (diff) |
Some missing SolarMutexGuard around VclPtr acquire/release
At least OutputDevice::acquire/release use a plain unguarded int and ++, --, so
apparently rely on the SolarMutex being locked whenever they are called. Fixed
those places that caused "make check" to fail for me when temporarily adding
DBG_TESTSOLARMUTEX() to OutputDevice::acquire/release. (A recurring pattern is
that a class fails to ensure the SolarMutex is locked around the destruction of
non-null VclPtr members.)
Change-Id: I77cba6f3908f2de1b516ce28f1c3c43b3f57a9c5
(cherry picked from commit 8e1ad966262932516b3368d9b5c44becb29524d4)
Signed-off-by: Michael Stahl <mstahl@redhat.com>
Diffstat (limited to 'dbaccess')
-rw-r--r-- | dbaccess/source/ui/browser/genericcontroller.cxx | 1 | ||||
-rw-r--r-- | dbaccess/source/ui/browser/unodatbr.cxx | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/dbaccess/source/ui/browser/genericcontroller.cxx b/dbaccess/source/ui/browser/genericcontroller.cxx index 971e59d47869..4d2bf1503f70 100644 --- a/dbaccess/source/ui/browser/genericcontroller.cxx +++ b/dbaccess/source/ui/browser/genericcontroller.cxx @@ -363,6 +363,7 @@ void OGenericUnoController::modified(const EventObject& aEvent) throw( RuntimeEx Reference< XWindow > SAL_CALL OGenericUnoController::getComponentWindow() throw (RuntimeException, std::exception) { + SolarMutexGuard g; return VCLUnoHelper::GetInterface( getView() ); } diff --git a/dbaccess/source/ui/browser/unodatbr.cxx b/dbaccess/source/ui/browser/unodatbr.cxx index 4514ea3c0403..369fb06fdfdd 100644 --- a/dbaccess/source/ui/browser/unodatbr.cxx +++ b/dbaccess/source/ui/browser/unodatbr.cxx @@ -235,6 +235,9 @@ SbaTableQueryBrowser::~SbaTableQueryBrowser() osl_atomic_increment( &m_refCount ); dispose(); } + SolarMutexGuard g; + m_pTreeView.reset(); + m_pSplitter.reset(); } Any SAL_CALL SbaTableQueryBrowser::queryInterface(const Type& _rType) throw (RuntimeException, std::exception) |