diff options
Diffstat (limited to 'gtk/gtkbuilder.c')
-rw-r--r-- | gtk/gtkbuilder.c | 31 |
1 files changed, 4 insertions, 27 deletions
diff --git a/gtk/gtkbuilder.c b/gtk/gtkbuilder.c index 03f28817ea..22228acdc1 100644 --- a/gtk/gtkbuilder.c +++ b/gtk/gtkbuilder.c @@ -1038,33 +1038,10 @@ gtk_builder_value_from_string_type (GtkBuilder *builder, { gboolean b; - switch (g_ascii_tolower (string[0])) - { - case 't': - case 'y': - b = TRUE; - break; - case 'f': - case 'n': - b = FALSE; - break; - default: - { - gchar *endptr; - errno = 0; - b = strtol (string, &endptr, 0); - if (errno || endptr == string) - { - g_set_error (error, - GTK_BUILDER_ERROR, - GTK_BUILDER_ERROR_INVALID_VALUE, - "Could not parse boolean `%s'", - string); - ret = FALSE; - break; - } - } - break; + if (!_gtk_builder_parse_boolean (string, &b, error)) + { + ret = FALSE; + break; } g_value_set_boolean (value, b); break; |