From a761df69a31c5bdbf6af7a80709bfd9cc8a854b3 Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1clav=20Slav=C3=ADk?= Date: Sun, 3 Oct 2004 21:00:45 +0000 Subject: [PATCH] fixed menu destruction if it was removed from menubar with Remove git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29628 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/gtk/menu.cpp | 8 ++++++-- src/gtk1/menu.cpp | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/gtk/menu.cpp b/src/gtk/menu.cpp index 83ba105c00..c72c5a8ee2 100644 --- a/src/gtk/menu.cpp +++ b/src/gtk/menu.cpp @@ -982,8 +982,12 @@ wxMenu::~wxMenu() if ( GTK_IS_WIDGET( m_menu )) { - gtk_widget_unref( m_menu ); // see wxMenu::Init - gtk_widget_destroy( m_menu ); + // see wxMenu::Init + gtk_widget_unref( m_menu ); + // if the menu is inserted in another menu at this time, there was + // one more reference to it: + if ( m_owner ) + gtk_widget_destroy( m_menu ); } } diff --git a/src/gtk1/menu.cpp b/src/gtk1/menu.cpp index 83ba105c00..c72c5a8ee2 100644 --- a/src/gtk1/menu.cpp +++ b/src/gtk1/menu.cpp @@ -982,8 +982,12 @@ wxMenu::~wxMenu() if ( GTK_IS_WIDGET( m_menu )) { - gtk_widget_unref( m_menu ); // see wxMenu::Init - gtk_widget_destroy( m_menu ); + // see wxMenu::Init + gtk_widget_unref( m_menu ); + // if the menu is inserted in another menu at this time, there was + // one more reference to it: + if ( m_owner ) + gtk_widget_destroy( m_menu ); } } -- 2.50.0