From 50fdb6a13ff39c31d189756497d240627c4c1669 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 10 Apr 2012 13:25:56 +0200 Subject: [PATCH] computedvalues: Split out a function --- gtk/gtkcsscomputedvalues.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/gtk/gtkcsscomputedvalues.c b/gtk/gtkcsscomputedvalues.c index ac2718f44a..6f99667f94 100644 --- a/gtk/gtkcsscomputedvalues.c +++ b/gtk/gtkcsscomputedvalues.c @@ -73,6 +73,16 @@ maybe_unref_section (gpointer section) 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, @@ -89,10 +99,7 @@ _gtk_css_computed_values_compute_value (GtkCssComputedValues *values, 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 @@ -181,10 +188,7 @@ _gtk_css_computed_values_set_value (GtkCssComputedValues *values, { 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));