Remove SendDestroyEvent() call from SetNSView() and call it from ~wxWindow
and ~wxTopLevelWindow instead. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27954 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -140,6 +140,8 @@ wxTopLevelWindowCocoa::~wxTopLevelWindowCocoa()
|
||||
wxASSERT(sm_cocoaDeactivateWindow!=this);
|
||||
wxAutoNSAutoreleasePool pool;
|
||||
DestroyChildren();
|
||||
if(m_cocoaNSView)
|
||||
SendDestroyEvent();
|
||||
SetNSWindow(NULL);
|
||||
}
|
||||
|
||||
|
@@ -289,6 +289,8 @@ wxWindow::~wxWindow()
|
||||
CocoaRemoveFromParent();
|
||||
delete m_cocoaHider;
|
||||
delete m_cocoaScroller;
|
||||
if(m_cocoaNSView)
|
||||
SendDestroyEvent();
|
||||
SetNSView(NULL);
|
||||
}
|
||||
|
||||
@@ -308,10 +310,6 @@ void wxWindowCocoa::CocoaRemoveFromParent(void)
|
||||
|
||||
void wxWindowCocoa::SetNSView(WX_NSView cocoaNSView)
|
||||
{
|
||||
// Assume setting the NSView to NULL means this wxWindow is being destroyed
|
||||
if(m_cocoaNSView && !cocoaNSView)
|
||||
SendDestroyEvent();
|
||||
|
||||
bool need_debug = cocoaNSView || m_cocoaNSView;
|
||||
if(need_debug) wxLogTrace(wxTRACE_COCOA_RetainRelease,wxT("wxWindowCocoa=%p::SetNSView [m_cocoaNSView=%p retainCount]=%d"),this,m_cocoaNSView,[m_cocoaNSView retainCount]);
|
||||
DisassociateNSView(m_cocoaNSView);
|
||||
|
Reference in New Issue
Block a user