From: Stefan Csomor Date: Sun, 2 Mar 2003 22:46:44 +0000 (+0000) Subject: destroy event support X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/42683dfb10210006f5763c433066cf158dea737f?ds=inline destroy event support git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19437 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/mac/carbon/window.cpp b/src/mac/carbon/window.cpp index 4592280816..54df63cb6e 100644 --- a/src/mac/carbon/window.cpp +++ b/src/mac/carbon/window.cpp @@ -184,10 +184,26 @@ wxWindowMac::~wxWindowMac() gFocusWindow = NULL ; } + // CS: copied from MSW : + // VS: destroy children first and _then_ detach *this from its parent. + // If we'd do it the other way around, children wouldn't be able + // find their parent frame (see above). + DestroyChildren(); + if ( m_parent ) m_parent->RemoveChild(this); - DestroyChildren(); + wxWindowDestroyEvent event((wxWindow *)this); + (void)GetEventHandler()->ProcessEvent(event); + + // delete our drop target if we've got one +#if wxUSE_DRAG_AND_DROP + if ( m_dropTarget != NULL ) + { + delete m_dropTarget; + m_dropTarget = NULL; + } +#endif // wxUSE_DRAG_AND_DROP } // Constructor diff --git a/src/mac/window.cpp b/src/mac/window.cpp index 4592280816..54df63cb6e 100644 --- a/src/mac/window.cpp +++ b/src/mac/window.cpp @@ -184,10 +184,26 @@ wxWindowMac::~wxWindowMac() gFocusWindow = NULL ; } + // CS: copied from MSW : + // VS: destroy children first and _then_ detach *this from its parent. + // If we'd do it the other way around, children wouldn't be able + // find their parent frame (see above). + DestroyChildren(); + if ( m_parent ) m_parent->RemoveChild(this); - DestroyChildren(); + wxWindowDestroyEvent event((wxWindow *)this); + (void)GetEventHandler()->ProcessEvent(event); + + // delete our drop target if we've got one +#if wxUSE_DRAG_AND_DROP + if ( m_dropTarget != NULL ) + { + delete m_dropTarget; + m_dropTarget = NULL; + } +#endif // wxUSE_DRAG_AND_DROP } // Constructor