From 8811f9398a5f99db3977866b586a36a9ee5afc25 Mon Sep 17 00:00:00 2001 From: Daemonratte Date: Tue, 9 Jun 2026 12:19:39 +0200 Subject: [PATCH] gdk: move GdkAtom boxed type registration to common code --- gdk/gdk.c | 25 +++++++++++++++++++++++++ gdk/gdk.symbols | 7 ++++++- gdk/x11/gdkproperty-x11.c | 25 ------------------------- 3 files changed, 31 insertions(+), 26 deletions(-) diff --git a/gdk/gdk.c b/gdk/gdk.c index db0aa30f0..63f2b70ef 100644 --- a/gdk/gdk.c +++ b/gdk/gdk.c @@ -817,6 +817,31 @@ gdk_threads_add_timeout_seconds (guint interval, } +static gpointer +gdk_atom_copy (gpointer atom) +{ + return atom; +} + +static void +gdk_atom_free (gpointer atom) +{ + /* GdkAtom values are interned and must not be freed. */ +} + +GType +gdk_atom_get_type (void) +{ + static GType our_type = 0; + + if (our_type == 0) + our_type = g_boxed_type_register_static (g_intern_static_string ("GdkAtom"), + (GBoxedCopyFunc) gdk_atom_copy, + (GBoxedFreeFunc) gdk_atom_free); + + return our_type; +} + const char * gdk_get_program_class (void) { diff --git a/gdk/gdk.symbols b/gdk/gdk.symbols index 2057bd495..ee1bc0c98 100644 --- a/gdk/gdk.symbols +++ b/gdk/gdk.symbols @@ -185,8 +185,13 @@ gdk_utf8_to_compound_text #endif #if IN_HEADER(__GDK_PROPERTY_H__) -#if IN_FILE(__GDK_PROPERTY_X11_C__) +#if IN_FILE(__GDK_C__) gdk_atom_get_type G_GNUC_CONST +#endif +#endif + +#if IN_HEADER(__GDK_PROPERTY_H__) +#if IN_FILE(__GDK_PROPERTY_X11_C__) gdk_atom_intern gdk_atom_intern_static_string gdk_atom_name diff --git a/gdk/x11/gdkproperty-x11.c b/gdk/x11/gdkproperty-x11.c index 4c9dc753d..8d1ed21e6 100644 --- a/gdk/x11/gdkproperty-x11.c +++ b/gdk/x11/gdkproperty-x11.c @@ -393,31 +393,6 @@ intern_atom (const gchar *atom_name, return result; } -static gpointer -gdk_atom_copy (gpointer atom) -{ - return atom; -} - -static void -gdk_atom_free (gpointer atom) -{ - /* GdkAtom values are interned and must not be freed. */ -} - -GType -gdk_atom_get_type (void) -{ - static GType our_type = 0; - - if (our_type == 0) - our_type = g_boxed_type_register_static (g_intern_static_string ("GdkAtom"), - (GBoxedCopyFunc) gdk_atom_copy, - (GBoxedFreeFunc) gdk_atom_free); - - return our_type; -} - GdkAtom gdk_atom_intern (const gchar *atom_name, gboolean only_if_exists)