diff options
Diffstat (limited to 'vcl/source/window/menufloatingwindow.cxx')
-rw-r--r-- | vcl/source/window/menufloatingwindow.cxx | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/vcl/source/window/menufloatingwindow.cxx b/vcl/source/window/menufloatingwindow.cxx index 19e709d43423..227cc8bb5932 100644 --- a/vcl/source/window/menufloatingwindow.cxx +++ b/vcl/source/window/menufloatingwindow.cxx @@ -104,7 +104,14 @@ void MenuFloatingWindow::doShutdown() MenuFloatingWindow::~MenuFloatingWindow() { + disposeOnce(); +} + +void MenuFloatingWindow::dispose() +{ doShutdown(); + + FloatingWindow::dispose(); } void MenuFloatingWindow::Resize() @@ -406,8 +413,8 @@ void MenuFloatingWindow::KillActivePopup( PopupMenu* pThisOnly ) { if ( pActivePopup && ( !pThisOnly || ( pThisOnly == pActivePopup ) ) ) { - if( pActivePopup->pWindow != NULL ) - if( static_cast<FloatingWindow *>(pActivePopup->pWindow)->IsInCleanUp() ) + if( pActivePopup->pWindow ) + if( static_cast<FloatingWindow *>(pActivePopup->pWindow.get())->IsInCleanUp() ) return; // kill it later if ( pActivePopup->bInCallback ) pActivePopup->bCanceled = true; |