From 48a89ec5c6f205c3b62b9de1479f921a5bfeac07 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 10 May 2004 04:49:11 +0000 Subject: [PATCH] Make destruction of a torn off menu work like un-tearing off. Mon May 10 00:48:08 2004 Matthias Clasen * gtk/gtkmenu.c: Make destruction of a torn off menu work like un-tearing off. --- ChangeLog | 5 +++++ ChangeLog.pre-2-10 | 5 +++++ ChangeLog.pre-2-6 | 5 +++++ ChangeLog.pre-2-8 | 5 +++++ gtk/gtkmenu.c | 9 ++++++++- 5 files changed, 28 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index dbff45fe77..db144aedba 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Mon May 10 00:48:08 2004 Matthias Clasen + + * gtk/gtkmenu.c: Make destruction of a torn off menu work + like un-tearing off. + Sun May 9 21:05:38 2004 Matthias Clasen Merge from 2.4: diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index dbff45fe77..db144aedba 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,8 @@ +Mon May 10 00:48:08 2004 Matthias Clasen + + * gtk/gtkmenu.c: Make destruction of a torn off menu work + like un-tearing off. + Sun May 9 21:05:38 2004 Matthias Clasen Merge from 2.4: diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index dbff45fe77..db144aedba 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,8 @@ +Mon May 10 00:48:08 2004 Matthias Clasen + + * gtk/gtkmenu.c: Make destruction of a torn off menu work + like un-tearing off. + Sun May 9 21:05:38 2004 Matthias Clasen Merge from 2.4: diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index dbff45fe77..db144aedba 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,8 @@ +Mon May 10 00:48:08 2004 Matthias Clasen + + * gtk/gtkmenu.c: Make destruction of a torn off menu work + like un-tearing off. + Sun May 9 21:05:38 2004 Matthias Clasen Merge from 2.4: diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c index 8b456bd05f..0856a8c0e0 100644 --- a/gtk/gtkmenu.c +++ b/gtk/gtkmenu.c @@ -1759,6 +1759,13 @@ gtk_menu_get_toplevel (GtkWidget *menu) return NULL; } +static void +gtk_tearoff_window_destroyed (GtkWidget *widget, + GtkMenu *menu) +{ + gtk_menu_set_tearoff_state (menu, FALSE); +} + void gtk_menu_set_tearoff_state (GtkMenu *menu, gboolean torn_off) @@ -1792,7 +1799,7 @@ gtk_menu_set_tearoff_state (GtkMenu *menu, GDK_WINDOW_TYPE_HINT_MENU); gtk_window_set_mnemonic_modifier (GTK_WINDOW (menu->tearoff_window), 0); g_signal_connect (menu->tearoff_window, "destroy", - G_CALLBACK (gtk_widget_destroyed), &menu->tearoff_window); + G_CALLBACK (gtk_tearoff_window_destroyed), menu); g_signal_connect (menu->tearoff_window, "event", G_CALLBACK (gtk_menu_window_event), menu);