X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3b3dc8019a520ce5e166c8ae9098ba020f8b3f94..e69d5138dc8f95e294ae6d03beb4f321406f4e34:/src/motif/menuitem.cpp diff --git a/src/motif/menuitem.cpp b/src/motif/menuitem.cpp index 08bf34a5ff..2b57e57d6a 100644 --- a/src/motif/menuitem.cpp +++ b/src/motif/menuitem.cpp @@ -21,6 +21,7 @@ #include "wx/wxprec.h" #include "wx/menuitem.h" +#include "wx/stockitem.h" #ifndef WX_PRECOMP #include "wx/utils.h" @@ -172,9 +173,17 @@ void wxMenuItem::CreateItem (WXWidget menu, wxMenuBar * menuBar, (wxStripMenuCodes(m_text), xmLabelGadgetClass, (Widget) menu, NULL); } - else if (!m_text.empty() && !m_subMenu) + else if (!IsSeparator() && !m_subMenu) { - wxString strName = wxStripMenuCodes(m_text); + wxString txt = m_text; + + if (m_text.IsEmpty()) + { + wxASSERT_MSG(wxIsStockID(GetId()), wxT("A non-stock menu item with an empty label?")); + txt = wxGetStockLabel(GetId(), wxSTOCK_WITH_ACCELERATOR|wxSTOCK_WITH_MNEMONIC); + } + + wxString strName = wxStripMenuCodes(txt); if (IsCheckable()) { m_buttonWidget = (WXWidget) XtVaCreateManagedWidget (strName, @@ -230,7 +239,7 @@ void wxMenuItem::CreateItem (WXWidget menu, wxMenuBar * menuBar, (XtCallbackProc) wxMenuItemDisarmCallback, (XtPointer) this); } - else if (GetId() == wxID_SEPARATOR) + else if (IsSeparator()) { m_buttonWidget = (WXWidget) XtVaCreateManagedWidget ("separator", xmSeparatorGadgetClass, (Widget) menu,