[vala/0.52] codegen: Generated SimpleType structs don't have a type id



commit 22099a2b39c99f0c55d016740076b3d64e61a211
Author: Rico Tzschichholz <ricotz ubuntu com>
Date:   Sun Jan 9 19:49:27 2022 +0100

    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

 codegen/valaccodestructmodule.vala | 5 +++++
 1 file changed, 5 insertions(+)
---
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 ()) {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]