Refactor some css transition code slightly

Reshuffling things a bit to avoid a bunch of NULL and
type checks.
This commit is contained in:
Matthias Clasen 2017-01-10 18:34:50 -05:00
parent 4f0cf475a5
commit d9bc675cba

View File

@ -165,18 +165,9 @@ transition_info_add (TransitionInfo infos[GTK_CSS_PROPERTY_N_PROPERTIES],
GtkStyleProperty *property, GtkStyleProperty *property,
guint index) guint index)
{ {
if (property == NULL) gtk_internal_return_if_fail (GTK_IS_STYLE_PROPERTY (property));
{
guint i;
for (i = 0; i < _gtk_css_style_property_get_n_properties (); i++) if (GTK_IS_CSS_SHORTHAND_PROPERTY (property))
{
GtkCssStyleProperty *prop = _gtk_css_style_property_lookup_by_id (i);
transition_info_add (infos, GTK_STYLE_PROPERTY (prop), index);
}
}
else if (GTK_IS_CSS_SHORTHAND_PROPERTY (property))
{ {
GtkCssShorthandProperty *shorthand = GTK_CSS_SHORTHAND_PROPERTY (property); GtkCssShorthandProperty *shorthand = GTK_CSS_SHORTHAND_PROPERTY (property);
guint i; guint i;
@ -188,7 +179,7 @@ transition_info_add (TransitionInfo infos[GTK_CSS_PROPERTY_N_PROPERTIES],
transition_info_add (infos, GTK_STYLE_PROPERTY (prop), index); transition_info_add (infos, GTK_STYLE_PROPERTY (prop), index);
} }
} }
else if (GTK_IS_CSS_STYLE_PROPERTY (property)) else
{ {
guint id; guint id;
@ -200,10 +191,6 @@ transition_info_add (TransitionInfo infos[GTK_CSS_PROPERTY_N_PROPERTIES],
infos[id].index = index; infos[id].index = index;
infos[id].pending = TRUE; infos[id].pending = TRUE;
} }
else
{
g_assert_not_reached ();
}
} }
static void static void
@ -219,15 +206,21 @@ transition_infos_set (TransitionInfo infos[GTK_CSS_PROPERTY_N_PROPERTIES],
prop_value = _gtk_css_array_value_get_nth (transitions, i); prop_value = _gtk_css_array_value_get_nth (transitions, i);
if (g_ascii_strcasecmp (_gtk_css_ident_value_get (prop_value), "all") == 0) if (g_ascii_strcasecmp (_gtk_css_ident_value_get (prop_value), "all") == 0)
property = NULL; {
guint j;
for (j = 0; j < _gtk_css_style_property_get_n_properties (); j++)
{
property = GTK_STYLE_PROPERTY (_gtk_css_style_property_lookup_by_id (j));
transition_info_add (infos, property, i);
}
}
else else
{ {
property = _gtk_style_property_lookup (_gtk_css_ident_value_get (prop_value)); property = _gtk_style_property_lookup (_gtk_css_ident_value_get (prop_value));
if (property == NULL) if (property)
continue; transition_info_add (infos, property, i);
} }
transition_info_add (infos, property, i);
} }
} }