From: Christopher Davis Date: Fri, 16 Dec 2022 04:08:35 +0000 (-0500) Subject: gdkprivate: Add compatibility shim for g_set_str() X-Git-Tag: archive/raspbian/4.12.3+ds-1+rpi1~1^2^2^2~22^2~9^2~25^2~1 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=3e86bc65f5d482b4e512b802739cc2d5217e4b38;p=gtk4.git gdkprivate: Add compatibility shim for g_set_str() Allows us to make use of this API without depending on bleeding-edge glib --- 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__ */