From: Rico Tzschichholz Date: Wed, 17 Jun 2020 14:58:56 +0000 (+0200) Subject: girparser: Actually respect given cprefix metadata for enumerations X-Git-Tag: 0.46.11~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6a177a6731e4a0fca089e10c5bc82af28db23b7f;p=thirdparty%2Fvala.git girparser: Actually respect given cprefix metadata for enumerations --- diff --git a/vala/valagirparser.vala b/vala/valagirparser.vala index c31c8a344..541ddbeac 100644 --- a/vala/valagirparser.vala +++ b/vala/valagirparser.vala @@ -2373,7 +2373,12 @@ public class Vala.GirParser : CodeVisitor { sym.access = SymbolAccessibility.PUBLIC; - string common_prefix = null; + string? common_prefix = null; + bool explicit_prefix = false; + if (metadata.has_argument (ArgumentType.CPREFIX)) { + sym.set_attribute_string ("CCode", "cprefix", metadata.get_string (ArgumentType.CPREFIX)); + explicit_prefix = true; + } bool has_member = false; next (); @@ -2390,9 +2395,10 @@ public class Vala.GirParser : CodeVisitor { has_member = true; if (error_domain) { parse_error_member (); - calculate_common_prefix (ref common_prefix, old_current.get_cname ()); } else { parse_enumeration_member (); + } + if (!explicit_prefix) { calculate_common_prefix (ref common_prefix, old_current.get_cname ()); } } else if (reader.name == "function") {