]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/framecmn.cpp
Fix Cygwin and MinGW compilation
[wxWidgets.git] / src / common / framecmn.cpp
index 55ce182110342e95c670bb939ae91da370f67ebb..8bc2ffb5db650f512cc7343be534c2789b90109d 100644 (file)
@@ -78,6 +78,11 @@ wxFrameBase::wxFrameBase()
 #endif // wxUSE_STATUSBAR
 }
 
+wxFrameBase::~wxFrameBase()
+{
+    // this destructor is required for Darwin
+}
+
 wxFrame *wxFrameBase::New(wxWindow *parent,
                           wxWindowID id,
                           const wxString& title,
@@ -148,12 +153,13 @@ wxPoint wxFrameBase::GetClientAreaOrigin() const
     wxPoint pt = wxTopLevelWindow::GetClientAreaOrigin();
 
 #if wxUSE_TOOLBAR
-    if ( GetToolBar() && GetToolBar()->IsShown() )
+    wxToolBar *toolbar = GetToolBar();
+    if ( toolbar && toolbar->IsShown() )
     {
         int w, h;
-        GetToolBar()->GetSize(& w, & h);
+        toolbar->GetSize(&w, &h);
 
-        if ( GetToolBar()->GetWindowStyleFlag() & wxTB_VERTICAL )
+        if ( toolbar->GetWindowStyleFlag() & wxTB_VERTICAL )
         {
             pt.x += w;
         }
@@ -182,12 +188,17 @@ bool wxFrameBase::ProcessCommand(int id)
     commandEvent.SetEventObject(this);
 
     wxMenuItem *item = bar->FindItem(id);
-    if ( item && item->IsCheckable() )
+    if (item)
     {
-        item->Toggle();
+        if (!item->IsEnabled())
+            return TRUE;
 
-        // use the new value
-        commandEvent.SetInt(item->IsChecked());
+        if (item->IsCheckable())
+        {
+            item->Toggle();
+            // use the new value
+            commandEvent.SetInt(item->IsChecked());
+        }
     }
 
     return GetEventHandler()->ProcessEvent(commandEvent);
@@ -398,8 +409,8 @@ void wxFrameBase::AttachMenuBar(wxMenuBar *menubar)
 {
     if ( menubar )
     {
-        m_frameMenuBar = menubar;
         menubar->Attach((wxFrame *)this);
+        m_frameMenuBar = menubar;
     }
 }