mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-17 14:30:15 +00:00
stylecontext: Actually use superset matcher
... when looking up the needed changes. This is what that matcher was actually written for, but it seems I never hooked it in.
This commit is contained in:
parent
a31d5379a0
commit
4943cc4c12
@ -3035,12 +3035,15 @@ gtk_style_context_needs_full_revalidate (GtkStyleContext *context,
|
||||
if (priv->relevant_changes == GTK_CSS_CHANGE_ANY)
|
||||
{
|
||||
GtkWidgetPath *path;
|
||||
GtkCssMatcher matcher;
|
||||
GtkCssMatcher matcher, superset;
|
||||
|
||||
path = create_query_path (context, priv->info);
|
||||
if (_gtk_css_matcher_init (&matcher, path, priv->info->state_flags))
|
||||
priv->relevant_changes = _gtk_style_provider_private_get_change (GTK_STYLE_PROVIDER_PRIVATE (priv->cascade),
|
||||
&matcher);
|
||||
{
|
||||
_gtk_css_matcher_superset_init (&superset, &matcher, GTK_STYLE_CONTEXT_RADICAL_CHANGE & ~GTK_CSS_CHANGE_SOURCE);
|
||||
priv->relevant_changes = _gtk_style_provider_private_get_change (GTK_STYLE_PROVIDER_PRIVATE (priv->cascade),
|
||||
&superset);
|
||||
}
|
||||
else
|
||||
priv->relevant_changes = 0;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user