mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-26 05:31:07 +00:00
stylecontext: If we force invalidate, invalidate all properties
We only FORCE_INVALIDATE when something weird changes that the CSS machinery can't detect. But now that our style_updated functions skip recomputations when some properties don't change we want to make sure these recomputations are still run. So we just claim all properties changed. http://bugzilla.gnome.org/show_bug.cgi?id=695482
This commit is contained in:
parent
e09957a47d
commit
fb170239c7
@ -3281,8 +3281,19 @@ _gtk_style_context_validate (GtkStyleContext *context,
|
||||
_gtk_bitmask_free (animation_changes);
|
||||
}
|
||||
|
||||
if (!_gtk_bitmask_is_empty (changes) || (change & GTK_CSS_CHANGE_FORCE_INVALIDATE))
|
||||
gtk_style_context_do_invalidate (context, changes);
|
||||
if (change & GTK_CSS_CHANGE_FORCE_INVALIDATE)
|
||||
{
|
||||
GtkBitmask *full = _gtk_bitmask_new ();
|
||||
full = _gtk_bitmask_invert_range (full,
|
||||
0,
|
||||
_gtk_css_style_property_get_n_properties ());
|
||||
gtk_style_context_do_invalidate (context, full);
|
||||
_gtk_bitmask_free (full);
|
||||
}
|
||||
else if (!_gtk_bitmask_is_empty (changes))
|
||||
{
|
||||
gtk_style_context_do_invalidate (context, changes);
|
||||
}
|
||||
|
||||
change = _gtk_css_change_for_child (change);
|
||||
for (list = priv->children; list; list = list->next)
|
||||
|
Loading…
Reference in New Issue
Block a user