]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/menu.cpp
1. added Mingw makefiles
[wxWidgets.git] / src / mac / menu.cpp
index bffd5b416dd92fb29a2bbe110cf8d10587905d42..70ea0b4fba74f944185fc5b29c7e0db842666542 100644 (file)
@@ -145,10 +145,14 @@ bool wxMenu::DoInsertOrAppend(wxMenuItem *pItem, size_t pos)
             }
             else
             {
+                // MacOS counts menu items from 1 and inserts after, therefore having the
+                // same effect as wx 0 based and inserting before, we must correct pos
+                // after however for updates to be correct
                 UMAInsertMenuItem(MAC_WXHMENU(m_hMenu), wxT("a") , pos);
+                pos += 1 ;
             }
 
-            SetMenuItemCommandID( MAC_WXHMENU(m_hMenu) , pos+1 , pItem->GetId() ) ;
+            SetMenuItemCommandID( MAC_WXHMENU(m_hMenu) , pos , pItem->GetId() ) ;
             pItem->UpdateItemText() ;
             pItem->UpdateItemBitmap() ;
             pItem->UpdateItemStatus() ;
@@ -445,6 +449,7 @@ auto-merge for MDI in case this will be necessary
 */
 
 wxMenuBar* wxMenuBar::s_macInstalledMenuBar = NULL ;
+wxMenuBar* wxMenuBar::s_macCommonMenuBar = NULL ;
 
 void wxMenuBar::Init()
 {
@@ -481,6 +486,8 @@ wxMenuBar::wxMenuBar(int count, wxMenu *menus[], const wxString titles[])
 
 wxMenuBar::~wxMenuBar()
 {
+    if (s_macCommonMenuBar == this)
+        s_macCommonMenuBar = NULL;
     if (s_macInstalledMenuBar == this)
     {
         ::ClearMenuBar();