summaryrefslogtreecommitdiff
path: root/dbaccess/source/ui/browser
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2015-06-17 15:18:10 +0200
committerStephan Bergmann <sbergman@redhat.com>2015-06-17 15:24:19 +0200
commit8e1ad966262932516b3368d9b5c44becb29524d4 (patch)
tree4dbee378e3376712011631734195886fb41404e2 /dbaccess/source/ui/browser
parent0f5b7dfea974c21b48843c3cbf7fdf344ad54a3a (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
Diffstat (limited to 'dbaccess/source/ui/browser')
-rw-r--r--dbaccess/source/ui/browser/genericcontroller.cxx1
-rw-r--r--dbaccess/source/ui/browser/unodatbr.cxx3
2 files changed, 4 insertions, 0 deletions
diff --git a/dbaccess/source/ui/browser/genericcontroller.cxx b/dbaccess/source/ui/browser/genericcontroller.cxx
index d7a07ff25a98..405bb91d2864 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 d8fcc49c4963..be132ddb1744 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)