diff options
Diffstat (limited to 'gobject-introspection')
-rw-r--r-- | gobject-introspection/gidlparser.c | 11 |
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); |