diff options
author | Johan Dahlin <johan@gnome.org> | 2008-03-07 20:03:35 +0000 |
---|---|---|
committer | Johan Dahlin <johan@src.gnome.org> | 2008-03-07 20:03:35 +0000 |
commit | 424cc287f15a271c1068d2d892de07a080d57701 (patch) | |
tree | f34b3bd814a05171746ab3c0c709c653ddc6e2ee /gtk/gtkbuilderparser.c | |
parent | f55db27521932ad1a139308c11287d38f5c61e47 (diff) | |
download | gtk+-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.c | 6 |
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; } |