modifier_style_changed (GtkModifierStyle *style,
GtkWidget *widget)
{
- GtkStyleContext *context;
-
- context = gtk_widget_get_style_context (widget);
- gtk_style_context_invalidate (context);
+ _gtk_widget_invalidate_style_context (widget, GTK_CSS_CHANGE_ANY);
}
static GtkModifierStyle *
gtk_widget_path_append_for_widget (widget->priv->path, widget);
}
- if (widget->priv->context)
- gtk_style_context_invalidate (widget->priv->context);
+ _gtk_widget_invalidate_style_context (widget, GTK_CSS_CHANGE_ANY);
}
return widget->priv->path;
return widget->priv->context;
}
+void
+_gtk_widget_invalidate_style_context (GtkWidget *widget,
+ GtkCssChange change)
+{
+ GtkWidgetPrivate *priv;
+
+ priv = widget->priv;
+
+ if (priv->context == NULL)
+ return;
+
+ _gtk_style_context_queue_invalidate (priv->context, change);
+}
+
/**
* gtk_widget_get_modifier_mask:
* @widget: a #GtkWidget