diff options
author | Rico Tzschichholz <ricotz@ubuntu.com> | 2021-05-20 21:24:38 +0200 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2021-05-20 21:31:44 +0200 |
commit | b50a17e5b819dc20f78a626e4d4f911794255002 (patch) | |
tree | 5bfbd879dfa20eb7f58c810a11557cfc2c929d7a /codegen/valagtypemodule.vala | |
parent | d6f555908157783a309d049405ebe6b676e2b499 (diff) | |
download | vala-b50a17e5b819dc20f78a626e4d4f911794255002.tar.gz |
codegen/vala: Improve check for GLib.Source derived classes
Diffstat (limited to 'codegen/valagtypemodule.vala')
-rw-r--r-- | codegen/valagtypemodule.vala | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/codegen/valagtypemodule.vala b/codegen/valagtypemodule.vala index 63d27ea29..4ea80f845 100644 --- a/codegen/valagtypemodule.vala +++ b/codegen/valagtypemodule.vala @@ -63,7 +63,7 @@ public class Vala.GTypeModule : GErrorModule { bool is_gtypeinstance = !cl.is_compact; bool is_fundamental = is_gtypeinstance && cl.base_class == null; - bool is_gsource = cl.base_class == gsource_type; + bool is_gsource = cl.is_subtype_of (gsource_type); if (is_gtypeinstance) { decl_space.add_include ("glib-object.h"); @@ -656,7 +656,7 @@ public class Vala.GTypeModule : GErrorModule { begin_class_finalize_function (cl); begin_finalize_function (cl); } else { - if (cl.is_compact || cl.base_class == null || cl.base_class == gsource_type) { + if (cl.is_compact || cl.base_class == null || cl.is_subtype_of (gsource_type)) { begin_instance_init_function (cl); begin_finalize_function (cl); } @@ -796,7 +796,7 @@ public class Vala.GTypeModule : GErrorModule { cfile.add_function (unref_fun); } } else { - if (cl.is_compact || cl.base_class == null || cl.base_class == gsource_type) { + if (cl.is_compact || cl.base_class == null || cl.is_subtype_of (gsource_type)) { add_instance_init_function (cl); add_finalize_function (cl); } @@ -1638,7 +1638,7 @@ public class Vala.GTypeModule : GErrorModule { push_function (func); - bool is_gsource = cl.base_class == gsource_type; + bool is_gsource = cl.is_subtype_of (gsource_type); if (cl.is_compact) { // Add declaration, since the instance_init function is explicitly called @@ -1784,7 +1784,7 @@ public class Vala.GTypeModule : GErrorModule { private void begin_finalize_function (Class cl) { push_context (instance_finalize_context); - bool is_gsource = cl.base_class == gsource_type; + bool is_gsource = cl.is_subtype_of (gsource_type); if (!cl.is_compact || is_gsource) { var fundamental_class = cl; @@ -1878,7 +1878,7 @@ public class Vala.GTypeModule : GErrorModule { pop_context (); cfile.add_function (instance_finalize_context.ccode); - } else if (cl.base_class == gsource_type) { + } else if (cl.is_subtype_of (gsource_type)) { cfile.add_function (instance_finalize_context.ccode); } } |