]> Pileus Git - ~andy/gtk/commitdiff
label: Allow using more underline modes
authorBenjamin Otte <otte@redhat.com>
Sun, 24 Apr 2011 23:48:59 +0000 (01:48 +0200)
committerBenjamin Otte <otte@redhat.com>
Tue, 3 May 2011 13:38:43 +0000 (15:38 +0200)
gtk/gtklabel.c

index 2fb4dc9f0e3fba34274bd42e4011d8b075e77234..3b6504e3469bc57362bbb39d7484a5df09b6bcbf 100644 (file)
@@ -1346,8 +1346,16 @@ attribute_from_text (GtkBuilder   *builder,
        attribute = pango_attr_stretch_new (g_value_get_enum (&val));
       break;
     case PANGO_ATTR_UNDERLINE:
-      if (gtk_builder_value_from_string_type (builder, G_TYPE_BOOLEAN, value, &val, error))
-       attribute = pango_attr_underline_new (g_value_get_boolean (&val));
+      if (gtk_builder_value_from_string_type (builder, PANGO_TYPE_UNDERLINE, value, &val, NULL))
+       attribute = pango_attr_underline_new (g_value_get_enum (&val));
+      else
+        {
+          /* XXX: allow boolean for backwards compat, so ignore error */
+          /* Deprecate this somehow */
+          g_value_unset (&val);
+          if (gtk_builder_value_from_string_type (builder, G_TYPE_BOOLEAN, value, &val, error))
+            attribute = pango_attr_underline_new (g_value_get_boolean (&val));
+        }
       break;
     case PANGO_ATTR_STRIKETHROUGH:     
       if (gtk_builder_value_from_string_type (builder, G_TYPE_BOOLEAN, value, &val, error))