]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/menu.cpp
update frm Ivan Masar
[wxWidgets.git] / src / msw / menu.cpp
index 31942579902d56d91b03f93f2f224c9bf0350dab..5e24fd40b9d5a831fb1540f99716225a66d83c5d 100644 (file)
@@ -468,7 +468,7 @@ bool wxMenu::DoInsertOrAppend(wxMenuItem *pItem, size_t pos)
                 }
 
                 mii.cch = itemText.length();
-                mii.dwTypeData = wx_const_cast(wxChar *, itemText.c_str());
+                mii.dwTypeData = wx_const_cast(wxChar *, itemText.wx_str());
 
                 if (flags & MF_POPUP)
                 {
@@ -548,7 +548,7 @@ bool wxMenu::DoInsertOrAppend(wxMenuItem *pItem, size_t pos)
         itemText = wxMenuItem::GetLabelFromText(itemText);
 #endif
 
-        pData = (wxChar*)itemText.c_str();
+        pData = (wxChar*)itemText.wx_str();
     }
 
     // item might have already been inserted by InsertMenuItem() above
@@ -798,10 +798,10 @@ bool wxMenu::MSWCommand(WXUINT WXUNUSED(param), WXWORD id)
         if ( item && item->IsCheckable() )
             item->Toggle();
 
-        // get the checked status of the menu item: note that menuState is the
-        // old state of the menu, so the test for MF_CHECKED must be inverted
+        // get the status of the menu item: note that it has been just changed
+        // by Toggle() above so here we already get the new state of the item
         UINT menuState = ::GetMenuState(GetHmenu(), id, MF_BYCOMMAND);
-        SendEvent(id, !(menuState & MF_CHECKED));
+        SendEvent(id, menuState & MF_CHECKED);
     }
 
     return true;