summaryrefslogtreecommitdiff
path: root/codegen/valagtypemodule.vala
diff options
context:
space:
mode:
authorRico Tzschichholz <ricotz@ubuntu.com>2021-05-20 21:24:38 +0200
committerRico Tzschichholz <ricotz@ubuntu.com>2021-05-20 21:31:44 +0200
commitb50a17e5b819dc20f78a626e4d4f911794255002 (patch)
tree5bfbd879dfa20eb7f58c810a11557cfc2c929d7a /codegen/valagtypemodule.vala
parentd6f555908157783a309d049405ebe6b676e2b499 (diff)
downloadvala-b50a17e5b819dc20f78a626e4d4f911794255002.tar.gz
codegen/vala: Improve check for GLib.Source derived classes
Diffstat (limited to 'codegen/valagtypemodule.vala')
-rw-r--r--codegen/valagtypemodule.vala12
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);
}
}