diff options
Diffstat (limited to 'sd/source/ui/toolpanel/TaskPaneShellManager.cxx')
-rwxr-xr-x | sd/source/ui/toolpanel/TaskPaneShellManager.cxx | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/sd/source/ui/toolpanel/TaskPaneShellManager.cxx b/sd/source/ui/toolpanel/TaskPaneShellManager.cxx index eba0b50bb..238b52c9d 100755 --- a/sd/source/ui/toolpanel/TaskPaneShellManager.cxx +++ b/sd/source/ui/toolpanel/TaskPaneShellManager.cxx @@ -31,7 +31,7 @@ #include "TaskPaneShellManager.hxx" #include "ViewShellManager.hxx" -#include <osl/diagnose.h> +#include <tools/diagnose_ex.h> #include <vcl/window.hxx> #include <algorithm> @@ -111,6 +111,21 @@ void TaskPaneShellManager::AddSubShell ( +void TaskPaneShellManager::RemoveSubShell (const ShellId i_nShellId) +{ + SubShells::iterator pos = maSubShells.find( i_nShellId ); + ENSURE_OR_RETURN_VOID( pos != maSubShells.end(), "no shell for this ID" ); + if ( pos->second.mpWindow != NULL ) + { + pos->second.mpWindow->RemoveEventListener( LINK( this, TaskPaneShellManager, WindowCallback ) ); + } + mpViewShellManager->DeactivateSubShell( mrViewShell, pos->first ); + maSubShells.erase( pos ); +} + + + + void TaskPaneShellManager::RemoveSubShell (const SfxShell* pShell) { if (pShell != NULL) |