From 3e86bc65f5d482b4e512b802739cc2d5217e4b38 Mon Sep 17 00:00:00 2001 From: Christopher Davis Date: Thu, 15 Dec 2022 23:08:35 -0500 Subject: [PATCH] gdkprivate: Add compatibility shim for g_set_str() Allows us to make use of this API without depending on bleeding-edge glib --- gdk/gdkprivate.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gdk/gdkprivate.h b/gdk/gdkprivate.h index 0f37cb0d8b..9501394743 100644 --- a/gdk/gdkprivate.h +++ b/gdk/gdkprivate.h @@ -23,4 +23,23 @@ void gdk_source_set_static_name_by_id (guint tag, #define I_(string) g_intern_static_string (string) #endif +#if !GLIB_CHECK_VERSION (2, 76, 0) +static inline gboolean +g_set_str (char **str_pointer, + const char *new_str) +{ + char *copy; + + if (*str_pointer == new_str || + (*str_pointer && new_str && strcmp (*str_pointer, new_str) == 0)) + return FALSE; + + copy = g_strdup (new_str); + g_free (*str_pointer); + *str_pointer = copy; + + return TRUE; +} +#endif + #endif /* __GDK__PRIVATE_H__ */ -- 2.30.2