diff --git a/src/univ/menu.cpp b/src/univ/menu.cpp index 1a70ef1eb4..62dc90a1c8 100644 --- a/src/univ/menu.cpp +++ b/src/univ/menu.cpp @@ -314,6 +314,12 @@ wxPopupMenuWindow::wxPopupMenuWindow(wxWindow *parent, wxMenu *menu) wxPopupMenuWindow::~wxPopupMenuWindow() { + // When m_popupMenu in wxMenu is deleted because it + // is a child of an old menu bar being deleted (note: it does + // not get destroyed by the wxMenu destructor, but + // by DestroyChildren()), m_popupMenu should be reset to NULL. + + m_menu->m_popupMenu = NULL; } // ---------------------------------------------------------------------------- diff --git a/src/univ/notebook.cpp b/src/univ/notebook.cpp index 39bf56b228..4c19121069 100644 --- a/src/univ/notebook.cpp +++ b/src/univ/notebook.cpp @@ -255,7 +255,7 @@ int wxNotebook::SetSelection(int nPage) m_pages[m_sel]->Show(); } - return m_sel; + return selOld; } void wxNotebook::ChangePage(int nPage)