X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/dc5bcaefb5c58031751f4299329e685918d5105c..0fa8508d0c6343d11178758f00fa68ae00721809:/src/cocoa/window.mm diff --git a/src/cocoa/window.mm b/src/cocoa/window.mm index 7778c84c39..b5838d9752 100644 --- a/src/cocoa/window.mm +++ b/src/cocoa/window.mm @@ -6,7 +6,7 @@ // Created: 2002/12/26 // RCS-ID: $Id: // Copyright: (c) 2002 David Elliott -// Licence: wxWindows license +// Licence: wxWidgets licence ///////////////////////////////////////////////////////////////////////////// #include "wx/wxprec.h" @@ -283,12 +283,14 @@ wxWindow::~wxWindow() wxAutoNSAutoreleasePool pool; DestroyChildren(); - // Make sure our parent (in the wxWindows sense) is our superview + // Make sure our parent (in the wxWidgets sense) is our superview // before we go removing from it. if(m_parent && m_parent->GetNSView()==[GetNSViewForSuperview() superview]) 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); @@ -631,7 +629,7 @@ void wxWindowCocoa::SetInitialFrameRect(const wxPoint& pos, const wxSize& size) frameRect.origin.y = parentRect.size.height-(pos.y+frameRect.size.height); // Tell Cocoa to change the margin between the bottom of the superview // and the bottom of the control. Keeps the control pinned to the top - // of its superview so that its position in the wxWindows coordinate + // of its superview so that its position in the wxWidgets coordinate // system doesn't change. if(![superview isFlipped]) [nsview setAutoresizingMask: NSViewMinYMargin];