From: Rico Tzschichholz Date: Sun, 9 Jan 2022 18:49:27 +0000 (+0100) Subject: codegen: Generated SimpleType structs don't have a type id X-Git-Tag: 0.52.11~26 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=22099a2b39c99f0c55d016740076b3d64e61a211;p=thirdparty%2Fvala.git codegen: Generated SimpleType structs don't have a type id Set "CCode.has_type_id" in CCodeStructModule.generate_struct_declaration() like in GTypeModule.visit_struct() for SimpleType structs which might be executed too late. In addition to 2e798fc3f8e9af25a4c231c2561894d9f0a0be50 --- diff --git a/codegen/valaccodestructmodule.vala b/codegen/valaccodestructmodule.vala index c82b79671..2b685383d 100644 --- a/codegen/valaccodestructmodule.vala +++ b/codegen/valaccodestructmodule.vala @@ -32,6 +32,11 @@ public abstract class Vala.CCodeStructModule : CCodeBaseModule { if (st.base_struct != null) { generate_struct_declaration (st.base_struct, decl_space); + } else if (!st.external_package) { + // custom simple type structs cannot have a type id which depends on head-allocation + if (st.get_attribute ("SimpleType") != null && !st.has_attribute_argument ("CCode", "type_id")) { + st.set_attribute_bool ("CCode", "has_type_id", false); + } } if (st.is_boolean_type () || st.is_integer_type () || st.is_floating_type ()) {