X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3d27b5746f360ea930bd1046fd61b1b27440ba7b..71628a57aa419bb00c85eaf3ec66024edb45560c:/src/msw/menu.cpp diff --git a/src/msw/menu.cpp b/src/msw/menu.cpp index 478048e703..25ea2adc19 100644 --- a/src/msw/menu.cpp +++ b/src/msw/menu.cpp @@ -73,7 +73,7 @@ extern wxMenu *wxCurrentPopupMenu; // ---------------------------------------------------------------------------- // the (popup) menu title has this special id -static const int idMenuTitle = -2; +static const int idMenuTitle = -3; // ---------------------------------------------------------------------------- // private functions @@ -433,9 +433,9 @@ void wxMenu::EndRadioGroup() m_startRadioGroup = -1; } -bool wxMenu::DoAppend(wxMenuItem *item) +wxMenuItem* wxMenu::DoAppend(wxMenuItem *item) { - wxCHECK_MSG( item, FALSE, _T("NULL item in wxMenu::DoAppend") ); + wxCHECK_MSG( item, NULL, _T("NULL item in wxMenu::DoAppend") ); bool check = FALSE; @@ -478,7 +478,7 @@ bool wxMenu::DoAppend(wxMenuItem *item) if ( !wxMenuBase::DoAppend(item) || !DoInsertOrAppend(item) ) { - return FALSE; + return NULL; } if ( check ) @@ -487,12 +487,15 @@ bool wxMenu::DoAppend(wxMenuItem *item) item->Check(TRUE); } - return TRUE; + return item; } -bool wxMenu::DoInsert(size_t pos, wxMenuItem *item) +wxMenuItem* wxMenu::DoInsert(size_t pos, wxMenuItem *item) { - return wxMenuBase::DoInsert(pos, item) && DoInsertOrAppend(item, pos); + if (wxMenuBase::DoInsert(pos, item) && DoInsertOrAppend(item, pos)) + return item; + else + return NULL; } wxMenuItem *wxMenu::DoRemove(wxMenuItem *item) @@ -829,7 +832,13 @@ int wxMenuBar::MSWPositionForWxMenu(wxMenu *menu, int wxpos) wxASSERT(menu); wxASSERT(menu->GetHMenu()); wxASSERT(m_hMenu); + +#if defined(__WXWINCE__) + int totalMSWItems = GetMenuCount(); +#else int totalMSWItems = GetMenuItemCount((HMENU)m_hMenu); +#endif + int i; // For old C++ compatibility for(i=wxpos; i