From 717b7aec0cf42575f3b109fbc42a6ed409da181d Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Tue, 16 May 2023 12:01:34 +0100 Subject: [PATCH] glib-backports: Add a note that a couple of functions aren't backports We can't backport GLib's implementations of these, because they make use of GHashTable/GPtrArray internals. Instead, we have a reimplementation of the same API, which accepts the cost of some redundant work as a reasonable price to pay for backwards-compatibility. Signed-off-by: Simon McVittie --- common/flatpak-glib-backports-private.h | 3 +++ common/flatpak-glib-backports.c | 2 ++ 2 files changed, 5 insertions(+) diff --git a/common/flatpak-glib-backports-private.h b/common/flatpak-glib-backports-private.h index 3c44cfbe4..8a35b2e89 100644 --- a/common/flatpak-glib-backports-private.h +++ b/common/flatpak-glib-backports-private.h @@ -117,6 +117,9 @@ g_date_time_new_from_iso8601 (const gchar *text, GTimeZone *default_tz) #endif #if !GLIB_CHECK_VERSION (2, 58, 0) +/* This is a reimplementation rather than a backport, and is a little less + * efficient than the real g_hash_table_steal_extended(), since it can't + * see into GHashTable internals */ static inline gboolean g_hash_table_steal_extended (GHashTable *hash_table, gconstpointer lookup_key, diff --git a/common/flatpak-glib-backports.c b/common/flatpak-glib-backports.c index 912a6d9f9..d1ecab840 100644 --- a/common/flatpak-glib-backports.c +++ b/common/flatpak-glib-backports.c @@ -697,6 +697,8 @@ g_get_language_names_with_category (const gchar *category_name) #endif #if !GLIB_CHECK_VERSION (2, 62, 0) +/* This is a reimplementation, not a backport: the version in GLib makes + * use of GPtrArray internals */ void g_ptr_array_extend (GPtrArray *array_to_extend, GPtrArray *array,