summaryrefslogtreecommitdiff
path: root/gtk/gtkcssshadowvalue.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/gtkcssshadowvalue.c
parent012526241a1024256459c127065603a5fd11cfd3 (diff)
downloadgtk+-27fd3fdf818541948ec9077143cebf32b71f801f.tar.gz
css: Handle some more simple cases of dependencies
Diffstat (limited to 'gtk/gtkcssshadowvalue.c')
-rw-r--r--gtk/gtkcssshadowvalue.c32
1 files changed, 24 insertions, 8 deletions
diff --git a/gtk/gtkcssshadowvalue.c b/gtk/gtkcssshadowvalue.c
index 9b2d897aea..bdfa8d25d4 100644
--- a/gtk/gtkcssshadowvalue.c
+++ b/gtk/gtkcssshadowvalue.c
@@ -65,14 +65,30 @@ gtk_css_value_shadow_compute (GtkCssValue *shadow,
GtkStyleContext *context,
GtkCssDependencies *dependencies)
{
- *dependencies = GTK_CSS_DEPENDS_ON_EVERYTHING;
-
- return gtk_css_shadow_value_new (_gtk_css_value_compute (shadow->hoffset, property_id, context, NULL),
- _gtk_css_value_compute (shadow->voffset, property_id, context, NULL),
- _gtk_css_value_compute (shadow->radius, property_id, context, NULL),
- _gtk_css_value_compute (shadow->spread, property_id, context, NULL),
- shadow->inset,
- _gtk_css_value_compute (shadow->color, property_id, context, NULL));
+ GtkCssValue *hoffset, *voffset, *radius, *spread, *color;
+ GtkCssDependencies child_deps;
+
+ child_deps = 0;
+ hoffset = _gtk_css_value_compute (shadow->hoffset, property_id, context, &child_deps);
+ *dependencies = _gtk_css_dependencies_union (*dependencies, child_deps);
+
+ child_deps = 0;
+ voffset = _gtk_css_value_compute (shadow->voffset, property_id, context, &child_deps);
+ *dependencies = _gtk_css_dependencies_union (*dependencies, child_deps);
+
+ child_deps = 0;
+ radius = _gtk_css_value_compute (shadow->radius, property_id, context, &child_deps);
+ *dependencies = _gtk_css_dependencies_union (*dependencies, child_deps);
+
+ child_deps = 0;
+ spread = _gtk_css_value_compute (shadow->spread, property_id, context, &child_deps),
+ *dependencies = _gtk_css_dependencies_union (*dependencies, child_deps);
+
+ child_deps = 0;
+ color = _gtk_css_value_compute (shadow->color, property_id, context, &child_deps);
+ *dependencies = _gtk_css_dependencies_union (*dependencies, child_deps);
+
+ return gtk_css_shadow_value_new (hoffset, voffset, radius, spread, shadow->inset, color);
}
static gboolean