summaryrefslogtreecommitdiff
path: root/gtk/gtkbuilderparser.c
diff options
context:
space:
mode:
authorJohan Dahlin <johan@gnome.org>2008-03-07 20:03:35 +0000
committerJohan Dahlin <johan@src.gnome.org>2008-03-07 20:03:35 +0000
commit424cc287f15a271c1068d2d892de07a080d57701 (patch)
treef34b3bd814a05171746ab3c0c709c653ddc6e2ee /gtk/gtkbuilderparser.c
parentf55db27521932ad1a139308c11287d38f5c61e47 (diff)
downloadgtk+-424cc287f15a271c1068d2d892de07a080d57701.tar.gz
- Treat enums like enums and not values - Avoid invalid free, in case of
2008-03-07 Johan Dahlin <johan@gnome.org> * gtk/gtkbuilder.c: * gtk/gtkbuilderparser.c: * gtk/gtkbuilderprivate.h: * gtk/gtkiconfactory.c: * tests/buildertest.c: - Treat enums like enums and not values - Avoid invalid free, in case of more than two sources - Add better error messages - Add much improved tests (#520979, Christian Persch) svn path=/trunk/; revision=19732
Diffstat (limited to 'gtk/gtkbuilderparser.c')
-rw-r--r--gtk/gtkbuilderparser.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gtk/gtkbuilderparser.c b/gtk/gtkbuilderparser.c
index d6d69a46cf..1b56b39079 100644
--- a/gtk/gtkbuilderparser.c
+++ b/gtk/gtkbuilderparser.c
@@ -915,9 +915,13 @@ text (GMarkupParseContext *context,
if (data->subparser && data->subparser->start)
{
+ GError *tmp_error = NULL;
+
if (data->subparser->parser->text)
data->subparser->parser->text (context, text, text_len,
- data->subparser->data, error);
+ data->subparser->data, &tmp_error);
+ if (tmp_error)
+ g_propagate_error (error, tmp_error);
return;
}