From 9eafe4139d6b2c0cabe3c77a903d6ae931a26975 Mon Sep 17 00:00:00 2001 From: Marvin W Date: Thu, 24 Aug 2023 20:18:26 +0200 Subject: Fix build on some Vala compiler versions See https://gitlab.gnome.org/GNOME/vala/-/issues/1474 and https://gitlab.gnome.org/GNOME/vala/-/issues/1478 --- libdino/CMakeLists.txt | 7 +++++++ libdino/src/service/stream_interactor.vala | 5 +++++ 2 files changed, 12 insertions(+) (limited to 'libdino') 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 : 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) { -- cgit v1.2.3-54-g00ecf