Compare commits

...

2 Commits

Author SHA1 Message Date
Matthias Clasen
f7a5cada1f css: Give each style its own variable set
gtk_css_style_print relies on this to limit printing of custom
variables to each styles' own variables. Without this, :root
variables get printed for every single style that doesn't define
its own.
2024-05-19 23:12:53 -04:00
Matthias Clasen
858a3cbde5 css: Don't leak variable sets
It is not clear that style->variables must be NULL at this point,
so clear it before overwriting it.
2024-05-19 23:12:53 -04:00

View File

@@ -864,7 +864,10 @@ gtk_css_lookup_resolve (GtkCssLookup *lookup,
}
else if (parent_style && parent_style->variables)
{
style->variables = gtk_css_variable_set_ref (parent_style->variables);
g_clear_pointer (&style->variables, gtk_css_variable_set_unref);
style->variables = gtk_css_variable_set_new ();
gtk_css_variable_set_set_parent (style->variables,
parent_style->variables);
}
context.provider = provider;