diff options
author | Matthias Clasen <mclasen@redhat.com> | 2012-08-25 11:22:14 -0400 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2012-08-28 15:42:24 +0200 |
commit | 27fd3fdf818541948ec9077143cebf32b71f801f (patch) | |
tree | 80a9dfb00a342ca2f9c8e7b88247c605c061bc22 /gtk/gtkcssshadowvalue.c | |
parent | 012526241a1024256459c127065603a5fd11cfd3 (diff) | |
download | gtk+-27fd3fdf818541948ec9077143cebf32b71f801f.tar.gz |
css: Handle some more simple cases of dependencies
Diffstat (limited to 'gtk/gtkcssshadowvalue.c')
-rw-r--r-- | gtk/gtkcssshadowvalue.c | 32 |
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 |