summaryrefslogtreecommitdiff
path: root/forms/source/solar/component/navbarcontrol.cxx
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 /forms/source/solar/component/navbarcontrol.cxx
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 'forms/source/solar/component/navbarcontrol.cxx')
-rw-r--r--forms/source/solar/component/navbarcontrol.cxx11
1 files changed, 7 insertions, 4 deletions
diff --git a/forms/source/solar/component/navbarcontrol.cxx b/forms/source/solar/component/navbarcontrol.cxx
index 6d335d9bf3de..e7c862494a89 100644
--- a/forms/source/solar/component/navbarcontrol.cxx
+++ b/forms/source/solar/component/navbarcontrol.cxx
@@ -435,10 +435,13 @@ namespace frm
void ONavigationBarPeer::allFeatureStatesChanged( )
{
- // force the control to update it's states
- VclPtr< NavigationToolBar > pNavBar = GetAs< NavigationToolBar >();
- if ( pNavBar )
- pNavBar->setDispatcher( this );
+ {
+ // force the control to update it's states
+ SolarMutexGuard g;
+ VclPtr< NavigationToolBar > pNavBar = GetAs< NavigationToolBar >();
+ if ( pNavBar )
+ pNavBar->setDispatcher( this );
+ }
// base class
OFormNavigationHelper::allFeatureStatesChanged( );