From 5060cc06ddd5fa7aff0709e3afb1ec00f9e2b8bc Mon Sep 17 00:00:00 2001 From: Michael Natterer Date: Thu, 10 Jul 2025 23:58:43 +0200 Subject: [PATCH] app: move the g_set_str() hack to config-types.h --- app/config/config-types.h | 28 ++++++++++++++++++++++++++++ app/config/gimpdisplayconfig.c | 2 -- app/config/gimpguiconfig.c | 2 -- app/config/gimppluginconfig.c | 2 -- app/core/core-types.h | 28 ---------------------------- 5 files changed, 28 insertions(+), 34 deletions(-) diff --git a/app/config/config-types.h b/app/config/config-types.h index 1fe55943ab..1c29a01318 100644 --- a/app/config/config-types.h +++ b/app/config/config-types.h @@ -56,4 +56,32 @@ typedef struct _GimpTemplate GimpTemplate; #define gimp_assert_not_reached g_assert_not_reached +#if ! GLIB_CHECK_VERSION(2, 76, 0) +/* Function copied from GLib 2.76.0 and made available privately so that + * we don't have to bump our dependency requirement. + * + * TODO: remove this when GLib requirement moves over 2.76. + */ +static inline gboolean g_set_str (char **str_pointer, + const char *new_str); + +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 /* __CONFIG_TYPES_H__ */ diff --git a/app/config/gimpdisplayconfig.c b/app/config/gimpdisplayconfig.c index 6ada1569c7..e3299963d9 100644 --- a/app/config/gimpdisplayconfig.c +++ b/app/config/gimpdisplayconfig.c @@ -28,8 +28,6 @@ #include "libgimpcolor/gimpcolor.h" #include "libgimpconfig/gimpconfig.h" -#include "core/core-types.h" /* Temporary g_set_str() redefined */ - #include "config-types.h" #include "gimprc-blurbs.h" diff --git a/app/config/gimpguiconfig.c b/app/config/gimpguiconfig.c index d002d66167..111a10e617 100644 --- a/app/config/gimpguiconfig.c +++ b/app/config/gimpguiconfig.c @@ -26,8 +26,6 @@ #include "libgimpbase/gimpbase.h" #include "libgimpconfig/gimpconfig.h" -#include "core/core-types.h" /* Temporary g_set_str() redefined */ - #include "config-types.h" #include "gimprc-blurbs.h" diff --git a/app/config/gimppluginconfig.c b/app/config/gimppluginconfig.c index 121909613f..98cb7d7605 100644 --- a/app/config/gimppluginconfig.c +++ b/app/config/gimppluginconfig.c @@ -26,8 +26,6 @@ #include "libgimpbase/gimpbase.h" #include "libgimpconfig/gimpconfig.h" -#include "core/core-types.h" /* Temporary g_set_str() redefined */ - #include "config-types.h" #include "gimprc-blurbs.h" diff --git a/app/core/core-types.h b/app/core/core-types.h index f66b93c04a..0a69e91b3d 100644 --- a/app/core/core-types.h +++ b/app/core/core-types.h @@ -322,32 +322,4 @@ struct _GimpSegment #include "plug-in/plug-in-types.h" -#if ! GLIB_CHECK_VERSION(2, 76, 0) -/* Function copied from GLib 2.76.0 and made available privately so that - * we don't have to bump our dependency requirement. - * - * TODO: remove this when GLib requirement moves over 2.76. - */ -static inline gboolean g_set_str (char **str_pointer, - const char *new_str); - -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 /* __CORE_TYPES_H__ */