GtkStackSwitcher: Don't emit notify::visible-child when setting a stack
Synchronizing the visible child with the switcher's toggle buttons can lead to GtkButton::clicked being emitted twice. Once for the button that was active before, and once for the button that we just activated. This leads to notify::visible-child being called twice and one of them is with the wrong child. Let's deal with this in the same way we handle the visible child changing underneath us. https://bugzilla.gnome.org/show_bug.cgi?id=749021
This commit is contained in:
@ -300,7 +300,9 @@ populate_switcher (GtkStackSwitcher *self)
|
||||
if (widget)
|
||||
{
|
||||
button = g_hash_table_lookup (priv->buttons, widget);
|
||||
priv->in_child_changed = TRUE;
|
||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE);
|
||||
priv->in_child_changed = FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user