gtk_css_section_unref (section);
}
+static void
+gtk_css_computed_values_ensure_array (GtkCssComputedValues *values,
+ guint at_least_size)
+{
+ if (values->values == NULL)
+ values->values = g_ptr_array_new_with_free_func ((GDestroyNotify)_gtk_css_value_unref);
+ if (at_least_size > values->values->len)
+ g_ptr_array_set_size (values->values, at_least_size);
+}
+
void
_gtk_css_computed_values_compute_value (GtkCssComputedValues *values,
GtkStyleContext *context,
prop = _gtk_css_style_property_lookup_by_id (id);
parent = gtk_style_context_get_parent (context);
- if (values->values == NULL)
- values->values = g_ptr_array_new_with_free_func ((GDestroyNotify)_gtk_css_value_unref);
- if (id <= values->values->len)
- g_ptr_array_set_size (values->values, id + 1);
+ gtk_css_computed_values_ensure_array (values, id + 1);
/* http://www.w3.org/TR/css3-cascade/#cascade
* Then, for every element, the value for each property can be found
{
g_return_if_fail (GTK_IS_CSS_COMPUTED_VALUES (values));
- if (values->values == NULL)
- values->values = g_ptr_array_new_with_free_func ((GDestroyNotify)_gtk_css_value_unref);
- if (id >= values->values->len)
- g_ptr_array_set_size (values->values, id + 1);
+ gtk_css_computed_values_ensure_array (values, id + 1);
if (g_ptr_array_index (values->values, id))
_gtk_css_value_unref (g_ptr_array_index (values->values, id));