]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/carbon/frame.cpp
removing event handlers on non-owned windows when the destroy event is sent
[wxWidgets.git] / src / osx / carbon / frame.cpp
index 156212156959f3f1ec7898796ffd603ce3f75e32..90fd33a3c6b7faeae892dc0cce34303c22ac3252 100644 (file)
@@ -61,7 +61,8 @@ bool wxFrame::Create(wxWindow *parent,
 
 wxFrame::~wxFrame()
 {
-    m_isBeingDeleted = true;
+    SendDestroyEvent();
+
     DeleteAllBars();
 }
 
@@ -77,11 +78,11 @@ wxPoint wxFrame::GetClientAreaOrigin() const
         int w, h;
         toolbar->GetSize(&w, &h);
 
-        if ( toolbar->GetWindowStyleFlag() & wxTB_VERTICAL )
+        if ( toolbar->HasFlag(wxTB_LEFT) )
         {
             pt.x += w;
         }
-        else
+        else if ( HasFlag(wxTB_TOP) )
         {
 #if !wxOSX_USE_NATIVE_TOOLBAR
             pt.y += h;
@@ -152,7 +153,7 @@ void wxFrame::OnSysColourChanged(wxSysColourChangedEvent& event)
         wxSysColourChangedEvent event2;
 
         event2.SetEventObject( m_frameStatusBar );
-        m_frameStatusBar->ProcessEvent(event2);
+        m_frameStatusBar->GetEventHandler()->ProcessEvent(event2);
     }
 #endif // wxUSE_STATUSBAR
 
@@ -336,17 +337,20 @@ void wxFrame::SetToolBar(wxToolBar *toolbar)
     if ( m_frameToolBar == toolbar )
         return ;
 
+#ifndef __WXOSX_IPHONE__
 #if wxOSX_USE_NATIVE_TOOLBAR
     if ( m_frameToolBar )
         m_frameToolBar->MacInstallNativeToolbar( false ) ;
 #endif
-
+#endif
     m_frameToolBar = toolbar ;
 
+#ifndef __WXOSX_IPHONE__
 #if wxOSX_USE_NATIVE_TOOLBAR
     if ( toolbar )
         toolbar->MacInstallNativeToolbar( true ) ;
 #endif
+#endif
 }
 
 wxToolBar* wxFrame::CreateToolBar(long style, wxWindowID id, const wxString& name)
@@ -362,7 +366,7 @@ void wxFrame::PositionToolBar()
     int cw, ch;
 
     GetSize( &cw , &ch ) ;
-            
+
     int statusX = 0 ;
     int statusY = 0 ;
 
@@ -374,6 +378,12 @@ void wxFrame::PositionToolBar()
     }
 #endif
 
+#ifdef __WXOSX_IPHONE__
+    // TODO integrate this in a better way, on iphone the status bar is not a child of the content view
+    // but the toolbar is
+    ch -= 20;
+#endif
+
     if (GetToolBar())
     {
         int tx, ty, tw, th;