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.49.1~91 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=893033e08b1c01ae771099f6ef2066b88ffb8097;p=thirdparty%2Fvala.git girparser: Actually respect given cprefix metadata for enumerations --- diff --git a/vala/valagirparser.vala b/vala/valagirparser.vala index 33d005a41..3b0743f24 100644 --- a/vala/valagirparser.vala +++ b/vala/valagirparser.vala @@ -2386,7 +2386,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 (); @@ -2403,9 +2408,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") {