gtkcssprovider: Use g_slice_dup() to copy GValues around
GValues stored in GtkCssRulesets are gslice managed, so don't g_memdup() GValues from shorthand properties. This fixes memory corruptions when reloading contents in a GtkCssProvider.
This commit is contained in:
@ -1086,9 +1086,9 @@ gtk_css_ruleset_add (GtkCssRuleset *ruleset,
|
|||||||
{
|
{
|
||||||
const GtkStyleProperty *child;
|
const GtkStyleProperty *child;
|
||||||
GValue *value;
|
GValue *value;
|
||||||
|
|
||||||
child = _gtk_style_property_lookup (parameters[i].name);
|
child = _gtk_style_property_lookup (parameters[i].name);
|
||||||
value = g_memdup (¶meters[i].value, sizeof (GValue));
|
value = g_slice_dup (GValue, ¶meters[i].value);
|
||||||
gtk_css_ruleset_add (ruleset, child, value);
|
gtk_css_ruleset_add (ruleset, child, value);
|
||||||
}
|
}
|
||||||
g_free (parameters);
|
g_free (parameters);
|
||||||
|
|||||||
Reference in New Issue
Block a user