diff options
Diffstat (limited to 'gtk/gtkliststore.c')
-rw-r--r-- | gtk/gtkliststore.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/gtk/gtkliststore.c b/gtk/gtkliststore.c index c012afbda3..5694f76400 100644 --- a/gtk/gtkliststore.c +++ b/gtk/gtkliststore.c @@ -2187,17 +2187,27 @@ list_store_text (GMarkupParseContext *context, { SubParserData *data = (SubParserData*)user_data; gint i; - + GError *tmp_error = NULL; + if (!data->is_data) return; i = data->row_column - 1; - if (!gtk_builder_value_from_string_type (data->column_types[i], + if (!gtk_builder_value_from_string_type (data->builder, + data->column_types[i], text, - &data->values[i])) - g_error ("Could not convert '%s' to type %s\n", - text, g_type_name (data->column_types[i])); + &data->values[i], + &tmp_error)) + { + g_set_error (error, + tmp_error->domain, + tmp_error->code, + "Could not convert '%s' to type %s: %s\n", + text, g_type_name (data->column_types[i]), + tmp_error->message); + g_error_free (tmp_error); + } } static const GMarkupParser list_store_parser = |