[gtk+] Prevent the destruction of the menu label on page removal
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] Prevent the destruction of the menu label on page removal
- Date: Mon, 22 Mar 2010 18:13:26 +0000 (UTC)
commit a957d4593e80f643c8de58c49542f69346a4a1fc
Author: Sjoerd Simons <sjoerd simons collabora co uk>
Date: Mon Mar 22 14:11:05 2010 -0400
Prevent the destruction of the menu label on page removal
In certain cases the menu label of a notebook page will be reused after the
page was removed from the notebook, for instance when a page is dragged from
one notebook to another. For such cases make sure that the menu label isn't
destroyed as part of destroying the menu item it was in.
gtk/gtknotebook.c | 11 +++++++----
1 files changed, 7 insertions(+), 4 deletions(-)
---
diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c
index a7c1b3a..d038cc5 100644
--- a/gtk/gtknotebook.c
+++ b/gtk/gtknotebook.c
@@ -4656,17 +4656,20 @@ gtk_notebook_real_remove (GtkNotebook *notebook,
if (destroying)
gtk_widget_destroy (tab_label);
g_object_unref (tab_label);
- }
+ }
if (notebook->menu)
{
- gtk_container_remove (GTK_CONTAINER (notebook->menu),
- page->menu_label->parent);
+ GtkWidget *parent = page->menu_label->parent;
+
+ gtk_notebook_menu_label_unparent (parent, NULL);
+ gtk_container_remove (GTK_CONTAINER (notebook->menu), parent);
+
gtk_widget_queue_resize (notebook->menu);
}
if (!page->default_menu)
g_object_unref (page->menu_label);
-
+
g_list_free (list);
if (page->last_focus_child)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]