From b223b8a073879eb11a1814bd3a13dae804f7469e Mon Sep 17 00:00:00 2001 From: RĂ¼diger Timm Date: Thu, 27 Jan 2005 08:46:41 +0000 Subject: INTEGRATION: CWS cd05 (1.23.4); FILE MERGED 2005/01/24 08:50:21 cd 1.23.4.2: #i40195# Real core metric must be available for internal controllers 2005/01/21 15:30:33 cd 1.23.4.1: #i41090# Fixed assertion - dirty flag wasn't reset when there is no slot found in GetSlotServer --- sfx2/source/control/statcach.cxx | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'sfx2') diff --git a/sfx2/source/control/statcach.cxx b/sfx2/source/control/statcach.cxx index 205b7b86cb34..d0bd9e7165d1 100644 --- a/sfx2/source/control/statcach.cxx +++ b/sfx2/source/control/statcach.cxx @@ -2,9 +2,9 @@ * * $RCSfile: statcach.cxx,v $ * - * $Revision: 1.23 $ + * $Revision: 1.24 $ * - * last change: $Author: kz $ $Date: 2005-01-18 16:08:39 $ + * last change: $Author: rt $ $Date: 2005-01-27 09:46:41 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -331,7 +331,11 @@ const SfxSlotServer* SfxStateCache::GetSlotServer( SfxDispatcher &rDispat , cons pSlot = SFX_APP()->GetSlotPool( rDispat.GetFrame() ).GetSlot( nId ); if ( !pSlot || !pSlot->pUnoName ) + { + bSlotDirty = sal_False; + bCtrlDirty = sal_True; return aSlotServ.GetSlot()? &aSlotServ: 0; + } // create the dispatch name from the slot data ::com::sun::star::util::URL aURL; @@ -520,7 +524,7 @@ void SfxStateCache::SetState_Impl } if ( pInternalController ) - pInternalController->StateChanged( nId, eState, pState ); + ((SfxDispatchController_Impl *)pInternalController)->StateChanged( nId, eState, pState, &aSlotServ ); // neuen Wert merken if ( !IsInvalidItem(pLastItem) ) @@ -564,7 +568,7 @@ void SfxStateCache::SetCachedState( BOOL bAlways ) } if ( pInternalController ) - pInternalController->StateChanged( nId, eLastState, pLastItem ); + ((SfxDispatchController_Impl *)pInternalController)->StateChanged( nId, eLastState, pLastItem, &aSlotServ ); // Controller sind jetzt ok bCtrlDirty = sal_True; -- cgit