aboutsummaryrefslogtreecommitdiff
path: root/libdino
diff options
context:
space:
mode:
Diffstat (limited to 'libdino')
-rw-r--r--libdino/CMakeLists.txt7
-rw-r--r--libdino/src/service/stream_interactor.vala5
2 files changed, 12 insertions, 0 deletions
diff --git a/libdino/CMakeLists.txt b/libdino/CMakeLists.txt
index 3c184cfd..fc283417 100644
--- a/libdino/CMakeLists.txt
+++ b/libdino/CMakeLists.txt
@@ -6,6 +6,11 @@ find_packages(LIBDINO_PACKAGES REQUIRED
GObject
)
+set(LIBDINO_DEFINITIONS)
+if(LIBDINO_VERSION VERSION_EQUAL "0.56.11")
+ set(LIBDINO_DEFINITIONS ${LIBDINO_DEFINITIONS} VALA_0_56_11)
+endif()
+
vala_precompile(LIBDINO_VALA_C
SOURCES
src/application.vala
@@ -76,6 +81,8 @@ GENERATE_VAPI
dino
GENERATE_HEADER
dino
+DEFINITIONS
+ ${LIBDINO_DEFINITIONS}
)
add_custom_command(OUTPUT "${CMAKE_BINARY_DIR}/exports/dino_i18n.h"
diff --git a/libdino/src/service/stream_interactor.vala b/libdino/src/service/stream_interactor.vala
index 192460d4..5d248327 100644
--- a/libdino/src/service/stream_interactor.vala
+++ b/libdino/src/service/stream_interactor.vala
@@ -89,7 +89,12 @@ public class ModuleIdentity<T> : Object {
}
public T? cast(StreamInteractionModule module) {
+#if VALA_0_56_11
+ // We can't typecheck due to compiler bug
+ return (T) module;
+#else
return module.get_type().is_a(typeof(T)) ? (T?) module : null;
+#endif
}
public bool matches(StreamInteractionModule module) {