]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
codegen: Only add property-enum and GParamSpec-array for GObject classes
authorRico Tzschichholz <ricotz@ubuntu.com>
Wed, 3 Jan 2018 19:57:13 +0000 (20:57 +0100)
committerRico Tzschichholz <ricotz@ubuntu.com>
Sat, 6 Jan 2018 18:20:37 +0000 (19:20 +0100)
codegen/valagtypemodule.vala

index aefcd0891f3d2aac8ba3b1529fd5ffb249ff186c..b9dafac5072bea203a14078689d941dd42de37ad 100644 (file)
@@ -544,6 +544,7 @@ public class Vala.GTypeModule : GErrorModule {
                var old_instance_finalize_context = instance_finalize_context;
 
                bool is_gtypeinstance = !cl.is_compact;
+               bool is_gobject = is_gtypeinstance && cl.is_subtype_of (gobject_type);
                bool is_fundamental = is_gtypeinstance && cl.base_class == null;
 
                if (get_ccode_name (cl).length < 3) {
@@ -566,7 +567,7 @@ public class Vala.GTypeModule : GErrorModule {
                generate_class_private_declaration (cl, cfile);
 
                var last_prop = "%s_NUM_PROPERTIES".printf (get_ccode_upper_case_name (cl));
-               if (is_gtypeinstance) {
+               if (is_gobject) {
                        cfile.add_type_declaration (prop_enum);
 
                        var prop_array_decl = new CCodeDeclaration ("GParamSpec*");
@@ -627,7 +628,9 @@ public class Vala.GTypeModule : GErrorModule {
                                pop_context ();
                        }
 
-                       prop_enum.add_value (new CCodeEnumValue (last_prop));
+                       if (is_gobject) {
+                               prop_enum.add_value (new CCodeEnumValue (last_prop));
+                       }
 
                        if (cl.get_signals ().size > 0) {
                                var last_signal = "%s_NUM_SIGNALS".printf (get_ccode_upper_case_name (cl));