diff --git a/offapi/com/sun/star/drawing/framework/XConfigurationController.idl b/offapi/com/sun/star/drawing/framework/XConfigurationController.idl index 1e7cdb245d21..4c0fd46d72b1 100644 --- a/offapi/com/sun/star/drawing/framework/XConfigurationController.idl +++ b/offapi/com/sun/star/drawing/framework/XConfigurationController.idl @@ -154,12 +154,6 @@ interface XConfigurationController interface XConfigurationControllerBroadcaster; interface XResourceFactoryManager; - /** Check if the ConfigurationController is disposing - @return - When the ConfigurationController is disposing then true else false - */ - boolean IsDisposing (); - /** Request the activation of a resource.

The request is processed asynchronously. Notifications about configuration changes are sent after this call returns.

diff --git a/sd/source/ui/framework/configuration/ConfigurationController.cxx b/sd/source/ui/framework/configuration/ConfigurationController.cxx index 6eb42998eaff..0eafd67dbace 100644 --- a/sd/source/ui/framework/configuration/ConfigurationController.cxx +++ b/sd/source/ui/framework/configuration/ConfigurationController.cxx @@ -153,32 +153,22 @@ ConfigurationController::Lock::~Lock (void) //===== ConfigurationController =============================================== ConfigurationController::ConfigurationController (void) throw() - : ConfigurationControllerInterfaceBase(MutexOwner::maMutex), - mpImplementation(), - mbIsDisposed(false), - mbIsDisposing(false) + : ConfigurationControllerInterfaceBase(MutexOwner::maMutex) + , mpImplementation() + , mbIsDisposed(false) { } - - - ConfigurationController::~ConfigurationController (void) throw() { } -sal_Bool ConfigurationController::IsDisposing (void) throw (com::sun::star::uno::RuntimeException) -{ - return mbIsDisposing; -} - void SAL_CALL ConfigurationController::disposing (void) { if (mpImplementation.get() == NULL) return; - mbIsDisposing = true; SAL_INFO("sd.fwk", OSL_THIS_FUNC << ": ConfigurationController::disposing"); SAL_INFO("sd.fwk", OSL_THIS_FUNC << ": requesting empty configuration"); // To destroy all resources an empty configuration is requested and then, @@ -191,7 +181,6 @@ void SAL_CALL ConfigurationController::disposing (void) // Now that all resources have been deactivated, mark the controller as // disposed. mbIsDisposed = true; - mbIsDisposing = false; // Release the listeners. lang::EventObject aEvent; diff --git a/sd/source/ui/framework/module/ResourceManager.cxx b/sd/source/ui/framework/module/ResourceManager.cxx index 548d596baf6b..0cf323ca5ede 100644 --- a/sd/source/ui/framework/module/ResourceManager.cxx +++ b/sd/source/ui/framework/module/ResourceManager.cxx @@ -66,8 +66,7 @@ ResourceManager::ResourceManager ( mxMainViewAnchorId(FrameworkHelper::Instance(rxController)->CreateResourceId( FrameworkHelper::msCenterPaneURL)), msCurrentMainViewURL(), - mbIsEnabled(true), - mbConfigurationControllerIsDisposing(false) + mbIsEnabled(true) { Reference xControllerManager (rxController, UNO_QUERY); if (xControllerManager.is()) @@ -76,6 +75,9 @@ ResourceManager::ResourceManager ( if (mxConfigurationController.is()) { + uno::Reference const xComppnent( + mxConfigurationController, UNO_QUERY_THROW); + xComppnent->addEventListener(this); mxConfigurationController->addConfigurationChangeListener( this, FrameworkHelper::msResourceActivationRequestEvent, @@ -152,8 +154,6 @@ void SAL_CALL ResourceManager::notifyConfigurationChange ( sal_Int32 nEventType = 0; rEvent.UserData >>= nEventType; - if (!mxConfigurationController->IsDisposing()) - mbConfigurationControllerIsDisposing = false; switch (nEventType) { case ResourceActivationRequestEvent: @@ -186,11 +186,6 @@ void SAL_CALL ResourceManager::notifyConfigurationChange ( case ResourceDeactivationRequestEvent: if (rEvent.ResourceId->compareTo(mxMainViewAnchorId) == 0) { - if (mxConfigurationController->IsDisposing() && !mbConfigurationControllerIsDisposing) - { - mbConfigurationControllerIsDisposing = true; - SaveResourceState(); - } HandleMainViewSwitch( OUString(), rEvent.Configuration, @@ -198,11 +193,6 @@ void SAL_CALL ResourceManager::notifyConfigurationChange ( } else if (rEvent.ResourceId->compareTo(mxResourceId) == 0) { - if (mxConfigurationController->IsDisposing() && !mbConfigurationControllerIsDisposing) - { - mbConfigurationControllerIsDisposing = true; - SaveResourceState(); - } // The resource managed by this ResourceManager has been // explicitly been requested to be hidden (maybe by us). // Remember this setting. @@ -296,6 +286,7 @@ void SAL_CALL ResourceManager::disposing ( if (mxConfigurationController.is() && rEvent.Source == mxConfigurationController) { + SaveResourceState(); // Without the configuration controller this class can do nothing. mxConfigurationController = NULL; dispose(); diff --git a/sd/source/ui/framework/module/ResourceManager.hxx b/sd/source/ui/framework/module/ResourceManager.hxx index caffc98c9b51..cd696619df88 100644 --- a/sd/source/ui/framework/module/ResourceManager.hxx +++ b/sd/source/ui/framework/module/ResourceManager.hxx @@ -109,7 +109,6 @@ private: ::rtl::OUString msCurrentMainViewURL; bool mbIsEnabled; - bool mbConfigurationControllerIsDisposing; void HandleMainViewSwitch ( const ::rtl::OUString& rsViewURL, diff --git a/sd/source/ui/inc/framework/ConfigurationController.hxx b/sd/source/ui/inc/framework/ConfigurationController.hxx index 05ae74599af5..93c73fcc8e7a 100644 --- a/sd/source/ui/inc/framework/ConfigurationController.hxx +++ b/sd/source/ui/inc/framework/ConfigurationController.hxx @@ -71,8 +71,6 @@ public: ConfigurationController (void) throw(); virtual ~ConfigurationController (void) throw(); - sal_Bool IsDisposing (void) throw (com::sun::star::uno::RuntimeException); - virtual void SAL_CALL disposing (void); void ProcessEvent (void); @@ -206,7 +204,6 @@ private: class Implementation; ::boost::scoped_ptr mpImplementation; bool mbIsDisposed; - bool mbIsDisposing; /** When the called object has already been disposed this method throws an exception and does not return.