diff options
author | Benjamin Otte <otte@redhat.com> | 2012-07-16 14:48:43 +0200 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2012-08-28 15:42:23 +0200 |
commit | 0e2f35ed882ab11d010866d32f2f65232145b8d0 (patch) | |
tree | f8e1af229adca8cdcce0b08808c3f6571615dd22 /gtk/gtkcssarrayvalue.c | |
parent | 9e7e65ca6e01246cf9eea156f0153014b58e4d36 (diff) | |
download | gtk+-0e2f35ed882ab11d010866d32f2f65232145b8d0.tar.gz |
css: Introduce dependencies for value computations
When values are computed, they might depend on various other values and
we need to track this so we can update the values when those other
values change. This is the first step in making that happen.
This patch does not do any dependency tracking at all, instead it uses
GTK_CSS_DEPENDS_ON_EVERYTHING as a sort of FIXME.
Diffstat (limited to 'gtk/gtkcssarrayvalue.c')
-rw-r--r-- | gtk/gtkcssarrayvalue.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/gtk/gtkcssarrayvalue.c b/gtk/gtkcssarrayvalue.c index a4fa0f4b62..418ac65598 100644 --- a/gtk/gtkcssarrayvalue.c +++ b/gtk/gtkcssarrayvalue.c @@ -41,9 +41,10 @@ gtk_css_value_array_free (GtkCssValue *value) } static GtkCssValue * -gtk_css_value_array_compute (GtkCssValue *value, - guint property_id, - GtkStyleContext *context) +gtk_css_value_array_compute (GtkCssValue *value, + guint property_id, + GtkStyleContext *context, + GtkCssDependencies *dependencies) { GtkCssValue *result; gboolean changed = FALSE; @@ -52,10 +53,12 @@ gtk_css_value_array_compute (GtkCssValue *value, if (value->n_values == 0) return _gtk_css_value_ref (value); + *dependencies = GTK_CSS_DEPENDS_ON_EVERYTHING; + result = _gtk_css_array_value_new_from_array (value->values, value->n_values); for (i = 0; i < value->n_values; i++) { - result->values[i] = _gtk_css_value_compute (value->values[i], property_id, context); + result->values[i] = _gtk_css_value_compute (value->values[i], property_id, context, NULL); changed |= (result->values[i] != value->values[i]); } |