summaryrefslogtreecommitdiff
path: root/vcl/source/window/menufloatingwindow.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/source/window/menufloatingwindow.cxx')
-rw-r--r--vcl/source/window/menufloatingwindow.cxx11
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;