summaryrefslogtreecommitdiff
path: root/gobject-introspection
diff options
context:
space:
mode:
Diffstat (limited to 'gobject-introspection')
-rw-r--r--gobject-introspection/gidlparser.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/gobject-introspection/gidlparser.c b/gobject-introspection/gidlparser.c
index 6a76b2ca7..81494414f 100644
--- a/gobject-introspection/gidlparser.c
+++ b/gobject-introspection/gidlparser.c
@@ -1562,9 +1562,16 @@ start_discriminator (GMarkupParseContext *context,
type = find_attribute ("type", attribute_names, attribute_values);
offset = find_attribute ("offset", attribute_names, attribute_values);
if (type == NULL)
- MISSING_ATTRIBUTE (error, element_name, "type");
+ {
+ MISSING_ATTRIBUTE (error, element_name, "type");
+ return FALSE;
+ }
else if (offset == NULL)
- MISSING_ATTRIBUTE (error, element_name, "offset");
+ {
+ MISSING_ATTRIBUTE (error, element_name, "offset");
+ return FALSE;
+ }
+ else
{
((GIdlNodeUnion *)ctx->current_node)->discriminator_type
= parse_type (type);