Blob Blame History Raw
From 32ee94c8a0079ee83a1b7d3910b1bbc6ccd8c747 Mon Sep 17 00:00:00 2001
From: Benjamin Berg <bberg@redhat.com>
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