summaryrefslogtreecommitdiff
path: root/sfx2/source
diff options
context:
space:
mode:
authorOliver-Rainer Wittmann <orw@apache.org>2013-04-30 11:21:46 +0000
committerCaolán McNamara <caolanm@redhat.com>2013-05-08 16:48:01 +0100
commit06803677ef3b91ebaaa1d1338a403c578cebba99 (patch)
treee1e23aacb8732e32bbe35067e876a4315b422bf5 /sfx2/source
parent1ad700f5a449aeee1dfbbb5ae37b3bf43638d394 (diff)
invalidate used slot to avoid inconsistent state information
Invalid state information may cause crashes due to not updated slot data (cherry picked from commit 7267a4b856d9fb37c3f4855c1be0f35219743923) Change-Id: I3bc3f934c5144fb0873e7a9694c3c012ddb0b367
Diffstat (limited to 'sfx2/source')
-rw-r--r--sfx2/source/control/ctrlitem.cxx5
1 files changed, 5 insertions, 0 deletions
diff --git a/sfx2/source/control/ctrlitem.cxx b/sfx2/source/control/ctrlitem.cxx
index 2b241c6b9045..7a0d16dbbfc0 100644
--- a/sfx2/source/control/ctrlitem.cxx
+++ b/sfx2/source/control/ctrlitem.cxx
@@ -384,6 +384,11 @@ SfxMapUnit SfxControllerItem::GetCoreMetric() const
SfxShell *pSh = pDispat->GetShell( pServer->GetShellLevel() );
SfxItemPool &rPool = pSh->GetPool();
sal_uInt16 nWhich = rPool.GetWhich( nId );
+
+ // invalidate slot and its message|slot server as 'global' information
+ // about the validated message|slot server is not made available
+ pCache->Invalidate( sal_True );
+
return rPool.GetMetric( nWhich );
}
}