summaryrefslogtreecommitdiff
path: root/gtk/gtkcssarrayvalue.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2012-08-25 11:22:14 -0400
committerBenjamin Otte <otte@redhat.com>2012-08-28 15:42:24 +0200
commit27fd3fdf818541948ec9077143cebf32b71f801f (patch)
tree80a9dfb00a342ca2f9c8e7b88247c605c061bc22 /gtk/gtkcssarrayvalue.c
parent012526241a1024256459c127065603a5fd11cfd3 (diff)
downloadgtk+-27fd3fdf818541948ec9077143cebf32b71f801f.tar.gz
css: Handle some more simple cases of dependencies
Diffstat (limited to 'gtk/gtkcssarrayvalue.c')
-rw-r--r--gtk/gtkcssarrayvalue.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/gtk/gtkcssarrayvalue.c b/gtk/gtkcssarrayvalue.c
index 418ac65598..69f81bf7f4 100644
--- a/gtk/gtkcssarrayvalue.c
+++ b/gtk/gtkcssarrayvalue.c
@@ -49,16 +49,18 @@ gtk_css_value_array_compute (GtkCssValue *value,
GtkCssValue *result;
gboolean changed = FALSE;
guint i;
+ GtkCssDependencies child_deps;
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, NULL);
+ result->values[i] = _gtk_css_value_compute (value->values[i], property_id, context, &child_deps);
+
+ *dependencies = _gtk_css_dependencies_union (*dependencies, child_deps);
+
changed |= (result->values[i] != value->values[i]);
}