X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4fc3eebc017183cb8cc2c4400227d05b4eb16676..7da662ce7ccf92964feef2a31a054b9b6c4acb70:/src/univ/menu.cpp diff --git a/src/univ/menu.cpp b/src/univ/menu.cpp index c2b05dc3b5..ba228442fa 100644 --- a/src/univ/menu.cpp +++ b/src/univ/menu.cpp @@ -123,7 +123,7 @@ class wxPopupMenuWindow : public wxPopupTransientWindow public: wxPopupMenuWindow(wxWindow *parent, wxMenu *menu); - ~wxPopupMenuWindow(); + virtual ~wxPopupMenuWindow(); // override the base class version to select the first item initially virtual void Popup(wxWindow *focus = NULL); @@ -347,7 +347,7 @@ void wxPopupMenuWindow::SetCurrentItem(wxMenuItemIter node) void wxPopupMenuWindow::ChangeCurrent(wxMenuItemIter node) { - if ( !m_nodeCurrent || (node != m_nodeCurrent) ) + if ( !m_nodeCurrent || !node || (node != m_nodeCurrent) ) { wxMenuItemIter nodeOldCurrent = m_nodeCurrent; @@ -1538,18 +1538,12 @@ void wxMenuItem::UpdateAccelInfo() m_strAccel = m_text.AfterFirst(_T('\t')); } -void wxMenuItem::SetText(const wxString& txt) +void wxMenuItem::SetText(const wxString& text) { - if ( txt != m_text ) + if ( text != m_text ) { - wxString text = txt; - if (text.IsEmpty()) - { - wxASSERT_MSG(wxIsStockID(GetId()), wxT("A non-stock menu item with an empty label?")); - text = wxGetStockLabel(GetId(), wxSTOCK_WITH_ACCELERATOR|wxSTOCK_WITH_MNEMONIC); - } - // first call the base class version to change m_text + // (and also check if we don't have a stock menu item) wxMenuItemBase::SetText(text); UpdateAccelInfo();