summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRico Tzschichholz <ricotz@ubuntu.com>2023-03-21 11:14:49 +0100
committerRico Tzschichholz <ricotz@ubuntu.com>2023-03-21 11:14:49 +0100
commit9f5d3a7a9b56417eaa4489c5616da9e18583bb8f (patch)
tree8e6a4780df402462d16b4926333cbb72179d46fb
parent0b6996d602f220f0a803b2af1520db1dfb2e0904 (diff)
downloadvala-9f5d3a7a9b56417eaa4489c5616da9e18583bb8f.tar.gz
codegen: Use G_TYPE_FLAG_NONE when targetting glib >= 2.74
-rw-r--r--codegen/valaclassregisterfunction.vala2
-rw-r--r--codegen/valatyperegisterfunction.vala6
-rw-r--r--tests/glib/conditional-glib-api.vala1
3 files changed, 8 insertions, 1 deletions
diff --git a/codegen/valaclassregisterfunction.vala b/codegen/valaclassregisterfunction.vala
index 625ac12a5..e1433d2dd 100644
--- a/codegen/valaclassregisterfunction.vala
+++ b/codegen/valaclassregisterfunction.vala
@@ -94,6 +94,8 @@ public class Vala.ClassRegisterFunction : TypeRegisterFunction {
return "G_TYPE_FLAG_ABSTRACT";
} else if (CodeContext.get ().require_glib_version (2, 70) && class_reference.is_sealed) {
return "G_TYPE_FLAG_FINAL";
+ } else if (CodeContext.get ().require_glib_version (2, 74)) {
+ return "G_TYPE_FLAG_NONE";
} else {
return "0";
}
diff --git a/codegen/valatyperegisterfunction.vala b/codegen/valatyperegisterfunction.vala
index 7502294cb..c1cd2b615 100644
--- a/codegen/valatyperegisterfunction.vala
+++ b/codegen/valatyperegisterfunction.vala
@@ -448,7 +448,11 @@ public abstract class Vala.TypeRegisterFunction {
* @return type flags
*/
public virtual string get_type_flags () {
- return "0";
+ if (CodeContext.get ().require_glib_version (2, 74)) {
+ return "G_TYPE_FLAG_NONE";
+ } else {
+ return "0";
+ }
}
/**
diff --git a/tests/glib/conditional-glib-api.vala b/tests/glib/conditional-glib-api.vala
index fc096ac92..3c63e506b 100644
--- a/tests/glib/conditional-glib-api.vala
+++ b/tests/glib/conditional-glib-api.vala
@@ -32,6 +32,7 @@ void use_g_memdup2 () {
}
// glib 2.68 drop volatile
+// glib 2.74 G_TYPE_FLAG_NONE
[SingleInstance]
class FooVolatile : Object {
}