summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@collabora.com>2015-05-11 12:22:25 +0100
committerMichael Meeks <michael.meeks@collabora.com>2015-05-11 13:09:10 +0100
commit19ea033f380aa196c9c868a3cdb43e967eb42abe (patch)
treeae7775819cc9f3a31b184badd6dfc8ac535c287d
parentb01554bcdaca076f900c25b672fd691dbe76c9db (diff)
tdf#91138 - hold reference until idle dispose.
Change-Id: Ibfa9a95d27796f8b44dc610db8daa71b968a7988
-rw-r--r--svtools/source/uno/popupwindowcontroller.cxx12
1 files changed, 1 insertions, 11 deletions
diff --git a/svtools/source/uno/popupwindowcontroller.cxx b/svtools/source/uno/popupwindowcontroller.cxx
index 9410bf607365..87e64d475e62 100644
--- a/svtools/source/uno/popupwindowcontroller.cxx
+++ b/svtools/source/uno/popupwindowcontroller.cxx
@@ -42,9 +42,7 @@ public:
~PopupWindowControllerImpl();
void SetPopupWindow( vcl::Window* pPopupWindow, ToolBox* pToolBox );
-
DECL_LINK( WindowEventListener, VclSimpleEvent* );
- DECL_STATIC_LINK( PopupWindowControllerImpl, AsyncDeleteWindowHdl, vcl::Window* );
private:
VclPtr<vcl::Window> mpPopupWindow;
@@ -68,7 +66,7 @@ void PopupWindowControllerImpl::SetPopupWindow( vcl::Window* pPopupWindow, ToolB
if( mpPopupWindow )
{
mpPopupWindow->RemoveEventListener( LINK( this, PopupWindowControllerImpl, WindowEventListener ) );
- Application::PostUserEvent( LINK( this, PopupWindowControllerImpl, AsyncDeleteWindowHdl ), mpPopupWindow );
+ mpPopupWindow.disposeAndClear();
}
mpPopupWindow = pPopupWindow;
mpToolBox = pToolBox;
@@ -122,14 +120,6 @@ IMPL_LINK( PopupWindowControllerImpl, WindowEventListener, VclSimpleEvent*, pEve
}
-
-IMPL_STATIC_LINK( PopupWindowControllerImpl, AsyncDeleteWindowHdl, vcl::Window*, pWindow )
-{
- pWindow->disposeOnce();
- return 0;
-}
-
-
// class PopupWindowController