From 8d7490018a47f60149a35ced6f880ec834aba471 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Wed, 28 Nov 2007 02:54:14 +0000 Subject: [PATCH] don't keep dangling m_prevRadio pointer (2nd part of patch 1836644) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50298 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/gtk/menu.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/gtk/menu.cpp b/src/gtk/menu.cpp index 85587d91ff..42eb67b220 100644 --- a/src/gtk/menu.cpp +++ b/src/gtk/menu.cpp @@ -1245,11 +1245,19 @@ wxMenuItem* wxMenu::DoInsert(size_t pos, wxMenuItem *item) wxMenuItem *wxMenu::DoRemove(wxMenuItem *item) { if ( !wxMenuBase::DoRemove(item) ) - return (wxMenuItem *)NULL; + return NULL; + + GtkWidget * const mitem = item->GetMenuItem(); + if ( m_prevRadio == mitem ) + { + // deleting an item starts a new radio group (has to as we shouldn't + // keep a deleted pointer anyhow) + m_prevRadio = NULL; + } // TODO: this code doesn't delete the item factory item and this seems // impossible as of GTK 1.2.6. - gtk_widget_destroy( item->GetMenuItem() ); + gtk_widget_destroy( mitem ); return item; } -- 2.45.2