From 32ee94c8a0079ee83a1b7d3910b1bbc6ccd8c747 Mon Sep 17 00:00:00 2001 From: Benjamin Berg Date: Mon, 14 Dec 2020 11:30:45 +0100 Subject: [PATCH] Add compatibility defines to allow compiling with older glib We need at least the GFlagsClass autoptr, but just pull in most of the definitions from libfprint. --- src/fprintd.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/fprintd.h b/src/fprintd.h index 4075bc2..63a742e 100644 --- a/src/fprintd.h +++ b/src/fprintd.h @@ -91,3 +91,18 @@ FprintDevice *fprint_device_new (FpDevice *dev); guint32 _fprint_device_get_id (FprintDevice *rdev); /* Print */ /* TODO */ + + +/* Some compatibility definitions for older GLib. Copied from from libfprint. */ +#if !GLIB_CHECK_VERSION (2, 57, 0) +G_DEFINE_AUTOPTR_CLEANUP_FUNC (GTypeClass, g_type_class_unref); +G_DEFINE_AUTOPTR_CLEANUP_FUNC (GEnumClass, g_type_class_unref); +G_DEFINE_AUTOPTR_CLEANUP_FUNC (GFlagsClass, g_type_class_unref); +G_DEFINE_AUTOPTR_CLEANUP_FUNC (GParamSpec, g_param_spec_unref); +#else +/* Re-define G_SOURCE_FUNC as we are technically not allowed to use it with + * the version we depend on currently. */ +#undef G_SOURCE_FUNC +#endif + +#define G_SOURCE_FUNC(f) ((GSourceFunc) (void (*)(void))(f)) -- 2.26.2