Merge branch 'backport-3529-menu-exporter-locking-glib-2-76' into 'glib-2-76'

Backport !3529 “gmenuexporter: synchronization in org_gtk_Menus_get_interface.” to glib-2-76

See merge request GNOME/glib!3531
This commit is contained in:
Emmanuele Bassi 2023-08-14 12:45:30 +00:00
commit 40fb81f0ea

View File

@ -53,8 +53,9 @@ static GDBusInterfaceInfo *
org_gtk_Menus_get_interface (void) org_gtk_Menus_get_interface (void)
{ {
static GDBusInterfaceInfo *interface_info; static GDBusInterfaceInfo *interface_info;
static gsize interface_info_initialized = 0;
if (interface_info == NULL) if (g_once_init_enter (&interface_info_initialized))
{ {
GError *error = NULL; GError *error = NULL;
GDBusNodeInfo *info; GDBusNodeInfo *info;
@ -79,6 +80,8 @@ org_gtk_Menus_get_interface (void)
g_assert (interface_info != NULL); g_assert (interface_info != NULL);
g_dbus_interface_info_ref (interface_info); g_dbus_interface_info_ref (interface_info);
g_dbus_node_info_unref (info); g_dbus_node_info_unref (info);
g_once_init_leave (&interface_info_initialized, 1);
} }
return interface_info; return interface_info;