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
This commit is contained in:
Claudio Saavedra 2012-02-07 18:02:15 +02:00
parent 3b1d8beab0
commit e2339f5ebd

View File

@ -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);