summaryrefslogtreecommitdiff
path: root/gtk/gtkwidget.c
diff options
context:
space:
mode:
authorJohan Dahlin <jdahlin@async.com.br>2007-06-30 18:27:39 +0000
committerJohan Dahlin <johan@src.gnome.org>2007-06-30 18:27:39 +0000
commitaaab9c05a517439d646d3456f81b7d076ca7fd85 (patch)
tree36cdd127db2bd251bdbcf3b45bb2abda1c410b77 /gtk/gtkwidget.c
parentd793d416da88a1923bb14bdbf0eea7c7bad7ac5a (diff)
downloadgtk+-aaab9c05a517439d646d3456f81b7d076ca7fd85.tar.gz
Improve error handling for enum/flags, rename the converter functions to
2007-06-30 Johan Dahlin <jdahlin@async.com.br> * gtk/gtkbuilder.c: * gtk/gtkbuilder.h: * gtk/gtkbuilderparser.c: * gtk/gtkbuilderprivate.h: * gtk/gtkwidget.c: * tests/buildertest.c: Improve error handling for enum/flags, rename the converter functions to be consistent. Add tests. Fixes #452465 svn path=/trunk/; revision=18312
Diffstat (limited to 'gtk/gtkwidget.c')
-rw-r--r--gtk/gtkwidget.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index 2a54b6e9e3..25fcb5f1fe 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -53,6 +53,7 @@
#include "gtktooltip.h"
#include "gtkinvisible.h"
#include "gtkbuildable.h"
+#include "gtkbuilderprivate.h"
#include "gtkalias.h"
#define WIDGET_CLASS(w) GTK_WIDGET_GET_CLASS (w)
@@ -8517,7 +8518,13 @@ accel_group_start_element (GMarkupParseContext *context,
if (strcmp (names[i], "key") == 0)
key = gdk_keyval_from_name (values[i]);
else if (strcmp (names[i], "modifiers") == 0)
- modifiers = _gtk_builder_flags_from_string (GDK_TYPE_MODIFIER_TYPE, values[i]);
+ {
+ if (!_gtk_builder_flags_from_string (GDK_TYPE_MODIFIER_TYPE,
+ values[i],
+ &modifiers,
+ error))
+ return;
+ }
else if (strcmp (names[i], "signal") == 0)
signal = g_strdup (values[i]);
}