diff options
author | Alexander Larsson <alexl@redhat.com> | 2012-03-06 14:16:32 +0100 |
---|---|---|
committer | Alexander Larsson <alexl@redhat.com> | 2012-03-08 11:03:57 +0100 |
commit | 7603e6e47395b8e1d66522a22255637fa10d3a47 (patch) | |
tree | 0f5e58f31234cea8f6b6503e2b85b646dc603b29 /gtk/gtkcsstypes.c | |
parent | 0ece7a5de3eae5f4d7e4d1623d191a0a0628e652 (diff) | |
download | gtk+-7603e6e47395b8e1d66522a22255637fa10d3a47.tar.gz |
css: Use GtkCssValues instead of GValue in the css machinery
Also, in places where we're computing a new CssValue based on an
old one, make sure that if nothing changes we're returning a reference
to the old one, rather than creating a new identical instance.
Diffstat (limited to 'gtk/gtkcsstypes.c')
-rw-r--r-- | gtk/gtkcsstypes.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/gtk/gtkcsstypes.c b/gtk/gtkcsstypes.c index ffa7a27ab5..c454fea9fe 100644 --- a/gtk/gtkcsstypes.c +++ b/gtk/gtkcsstypes.c @@ -62,7 +62,7 @@ _gtk_css_number_get (const GtkCssNumber *number, return number->value; } -void +gboolean _gtk_css_number_compute (GtkCssNumber *dest, const GtkCssNumber *src, GtkStyleContext *context) @@ -100,12 +100,12 @@ _gtk_css_number_compute (GtkCssNumber *dest, dest->unit = GTK_CSS_PX; break; case GTK_CSS_EM: - dest->value = src->value * g_value_get_double (_gtk_style_context_peek_property (context, "font-size")); + dest->value = src->value * _gtk_css_value_get_double (_gtk_style_context_peek_property (context, "font-size")); dest->unit = GTK_CSS_PX; break; case GTK_CSS_EX: /* for now we pretend ex is half of em */ - dest->value = src->value * g_value_get_double (_gtk_style_context_peek_property (context, "font-size")); + dest->value = src->value * _gtk_css_value_get_double (_gtk_style_context_peek_property (context, "font-size")); dest->unit = GTK_CSS_PX; break; case GTK_CSS_RAD: @@ -121,6 +121,8 @@ _gtk_css_number_compute (GtkCssNumber *dest, dest->unit = GTK_CSS_DEG; break; } + + return !_gtk_css_number_equal (src, dest); } void |