diff --git a/gio/gdbusprivate.c b/gio/gdbusprivate.c index ea05dcd3d..eeb12d90d 100644 --- a/gio/gdbusprivate.c +++ b/gio/gdbusprivate.c @@ -202,7 +202,8 @@ _g_socket_read_with_control_messages_finish (GSocket *socket, /* ---------------------------------------------------------------------------------------------------- */ -/* Work-around for https://bugzilla.gnome.org/show_bug.cgi?id=627724 */ +/* Work-around for https://bugzilla.gnome.org/show_bug.cgi?id=674885 + and see also the original https://bugzilla.gnome.org/show_bug.cgi?id=627724 */ static GPtrArray *ensured_classes = NULL; @@ -227,6 +228,8 @@ ensure_required_types (void) ensured_classes = g_ptr_array_new (); ensure_type (G_TYPE_TASK); ensure_type (G_TYPE_MEMORY_INPUT_STREAM); + ensure_type (G_TYPE_DBUS_CONNECTION); + ensure_type (G_TYPE_DBUS_PROXY); } /* ---------------------------------------------------------------------------------------------------- */ @@ -264,9 +267,6 @@ _g_dbus_shared_thread_ref (void) { SharedThreadData *data; - /* Work-around for https://bugzilla.gnome.org/show_bug.cgi?id=627724 */ - ensure_required_types (); - data = g_new0 (SharedThreadData, 1); data->refcount = 0; @@ -1921,6 +1921,9 @@ _g_dbus_initialize (void) _gdbus_debug_flags |= G_DBUS_DEBUG_MESSAGE; } + /* Work-around for https://bugzilla.gnome.org/show_bug.cgi?id=627724 */ + ensure_required_types (); + g_once_init_leave (&initialized, 1); } }