X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkcssstringvalue.c;h=82e7c37b6ed59edb163e939a87b4787f1c9ed50d;hb=1708ae3f1a962d3bbfcc0e673c5fa9f629d16eae;hp=ec58ed99a68ece219097607af1f94a76ec0042c6;hpb=2ff47ed26d42dc62e58a0c07d93c595c038129a3;p=~andy%2Fgtk diff --git a/gtk/gtkcssstringvalue.c b/gtk/gtkcssstringvalue.c index ec58ed99a..82e7c37b6 100644 --- a/gtk/gtkcssstringvalue.c +++ b/gtk/gtkcssstringvalue.c @@ -29,9 +29,21 @@ struct _GtkCssValue { static void gtk_css_value_string_free (GtkCssValue *value) { + g_free (value->string); g_slice_free (GtkCssValue, value); } +static GtkCssValue * +gtk_css_value_string_compute (GtkCssValue *value, + guint property_id, + GtkStyleProviderPrivate *provider, + GtkCssComputedValues *values, + GtkCssComputedValues *parent_values, + GtkCssDependencies *dependencies) +{ + return _gtk_css_value_ref (value); +} + static gboolean gtk_css_value_string_equal (const GtkCssValue *value1, const GtkCssValue *value2) @@ -42,6 +54,7 @@ gtk_css_value_string_equal (const GtkCssValue *value1, static GtkCssValue * gtk_css_value_string_transition (GtkCssValue *start, GtkCssValue *end, + guint property_id, double progress) { return NULL; @@ -54,6 +67,12 @@ gtk_css_value_string_print (const GtkCssValue *value, char *string = value->string; gsize len; + if (string == NULL) + { + g_string_append (str, "none"); + return; + } + g_string_append_c (str, '"'); do { @@ -130,6 +149,7 @@ gtk_css_value_ident_print (const GtkCssValue *value, static const GtkCssValueClass GTK_CSS_VALUE_STRING = { gtk_css_value_string_free, + gtk_css_value_string_compute, gtk_css_value_string_equal, gtk_css_value_string_transition, gtk_css_value_string_print @@ -137,6 +157,7 @@ static const GtkCssValueClass GTK_CSS_VALUE_STRING = { static const GtkCssValueClass GTK_CSS_VALUE_IDENT = { gtk_css_value_string_free, + gtk_css_value_string_compute, gtk_css_value_string_equal, gtk_css_value_string_transition, gtk_css_value_ident_print