GtkColorChooserWidget: Redraw swatches when selection changes

When selecting a swatch in a GtkColorChooserWidget the previously
selected swatch and the currently selected swatch are not redrawn. This
can leave the old swatch still marked with a checkbox even though a new
swatch has been selected.

Redraw the swatches after changing the selection.

https://bugzilla.gnome.org/show_bug.cgi?id=727487
This commit is contained in:
Marcus Karlsson 2014-04-12 10:09:46 +02:00 committed by Matthias Clasen
parent 3d956db500
commit 19510cdec7

View File

@ -101,9 +101,14 @@ select_swatch (GtkColorChooserWidget *cc,
return;
if (cc->priv->current != NULL)
gtk_widget_unset_state_flags (GTK_WIDGET (cc->priv->current), GTK_STATE_FLAG_SELECTED);
{
gtk_widget_unset_state_flags (GTK_WIDGET (cc->priv->current), GTK_STATE_FLAG_SELECTED);
gtk_widget_queue_draw (GTK_WIDGET (cc->priv->current));
}
gtk_widget_set_state_flags (GTK_WIDGET (swatch), GTK_STATE_FLAG_SELECTED, FALSE);
cc->priv->current = swatch;
gtk_widget_queue_draw (GTK_WIDGET (cc->priv->current));
gtk_color_swatch_get_rgba (swatch, &color);
g_settings_set (cc->priv->settings, "selected-color", "(bdddd)",