From e2339f5ebd0f7945e3e3f3d35aa91a27c65a9d6b Mon Sep 17 00:00:00 2001 From: Claudio Saavedra Date: Tue, 7 Feb 2012 18:02:15 +0200 Subject: GtkNotebook: emit child-notify::position a few more times When moving a page around, all children changing their position need to be notified. There are still other places where proper notification is missing (drag 'n drop, etc.) https://bugzilla.gnome.org/show_bug.cgi?id=669116 --- gtk/gtknotebook.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'gtk/gtknotebook.c') diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c index ad2bd66fa3..5be5b7a3b8 100644 --- a/gtk/gtknotebook.c +++ b/gtk/gtknotebook.c @@ -7980,6 +7980,7 @@ gtk_notebook_reorder_child (GtkNotebook *notebook, GtkNotebookPage *page; gint old_pos; gint max_pos; + gint i; g_return_if_fail (GTK_IS_NOTEBOOK (notebook)); g_return_if_fail (GTK_IS_WIDGET (child)); @@ -8015,7 +8016,12 @@ gtk_notebook_reorder_child (GtkNotebook *notebook, /* Move around the menu items if necessary */ gtk_notebook_child_reordered (notebook, page); - gtk_widget_child_notify (child, "position"); + + for (list = priv->children, i = 0; list; list = list->next) + { + if (MIN (old_pos, position) <= i && i <= MAX (old_pos, position)) + gtk_widget_child_notify (((GtkNotebookPage *) list->data)->child, "position"); + } if (priv->show_tabs) gtk_notebook_pages_allocate (notebook); -- cgit v1.2.1