]> git.saurik.com Git - wxWidgets.git/blobdiff - src/cocoa/window.mm
corrected Refresh (client coordinates)
[wxWidgets.git] / src / cocoa / window.mm
index 5358dfa354cd9728ab8feb3cf252083a8eb26daf..91e48b8579dc1ef5fea0cad49850e7ae863b1f64 100644 (file)
@@ -267,8 +267,8 @@ bool wxWindow::Create(wxWindow *parent, wxWindowID winid,
     {
         m_parent->AddChild(this);
         m_parent->CocoaAddChild(this);
+        SetInitialFrameRect(pos,size);
     }
-    SetInitialFrameRect(pos,size);
 
     return TRUE;
 }
@@ -304,6 +304,10 @@ 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);