From 881c1c961ea3c0f651a74f637786caf1367a26f3 Mon Sep 17 00:00:00 2001 From: Ras-al-Ghul Date: Thu, 4 Feb 2016 10:38:41 +0530 Subject: tdf#96888 - Kill internal vcl dog-tags ... Finally removed struct ImplDelData Change-Id: Ib2bb4a51b94886b95bca0c84adffc8fd4123e8b8 Reviewed-on: https://gerrit.libreoffice.org/22093 Tested-by: Jenkins Reviewed-by: Noel Grandin --- vcl/inc/svdata.hxx | 11 ----------- vcl/inc/window.h | 3 --- vcl/source/window/window.cxx | 10 ---------- 3 files changed, 24 deletions(-) (limited to 'vcl') diff --git a/vcl/inc/svdata.hxx b/vcl/inc/svdata.hxx index e43b0d4a676d..628f45dcff8b 100644 --- a/vcl/inc/svdata.hxx +++ b/vcl/inc/svdata.hxx @@ -366,17 +366,6 @@ bool ImplInitAccessBridge(); FieldUnitStringList* ImplGetFieldUnits(); FieldUnitStringList* ImplGetCleanedFieldUnits(); -// ImplDelData is used as a "dog tag" by a window when it -// does something that could indirectly destroy the window -// TODO: wild destruction of a window should not be possible - -struct ImplDelData -{ - ImplDelData* mpNext; - VclPtr mpWindow; - bool mbDel; -}; - struct ImplSVEvent { void* mpData; diff --git a/vcl/inc/window.h b/vcl/inc/window.h index 5203564f5ed2..db8bdfb0b6d1 100644 --- a/vcl/inc/window.h +++ b/vcl/inc/window.h @@ -28,8 +28,6 @@ #include #include -struct ImplDelData; - namespace vcl { class Window; } @@ -209,7 +207,6 @@ public: // The canvas interface for this VCL window. Is persistent after the first GetCanvas() call css::uno::WeakReference< css::rendering::XCanvas > mxCanvas; - ImplDelData* mpFirstDel; void* mpUserData; vcl::Cursor* mpCursor; Pointer maPointer; diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx index fbe64960bb23..1d04005eb0ef 100644 --- a/vcl/source/window/window.cxx +++ b/vcl/source/window/window.cxx @@ -510,15 +510,6 @@ void Window::dispose() OutputDevice *pOutDev = GetOutDev(); pOutDev->ReleaseGraphics(); - // notify ImplDelData subscribers of this window about the window deletion - ImplDelData* pDelData = mpWindowImpl->mpFirstDel; - while ( pDelData ) - { - pDelData->mbDel = true; - pDelData->mpWindow.clear(); // #112873# pDel is not associated with a Window anymore - pDelData = pDelData->mpNext; - } - // remove window from the lists ImplRemoveWindow( true ); @@ -628,7 +619,6 @@ WindowImpl::WindowImpl( WindowType nType ) mpLastFocusWindow = nullptr; // window for focus restore mpDlgCtrlDownWindow = nullptr; // window for dialog control mnChildEventListenersIteratingCount = 0; - mpFirstDel = nullptr; // Dtor notification list mpUserData = nullptr; // user data mpCursor = nullptr; // cursor mpControlFont = nullptr; // font properties -- cgit