forked from AuroraMiddleware/gtk
GtkApplication: Fix CRITICAL on shutdown when register_session=FALSE
Close https://gitlab.gnome.org/GNOME/gtk/issues/1323#note_327705
This commit is contained in:
parent
19bf502fde
commit
d90e2733ea
@ -788,15 +788,22 @@ gtk_application_impl_dbus_finalize (GObject *object)
|
||||
{
|
||||
GtkApplicationImplDBus *dbus = (GtkApplicationImplDBus *) object;
|
||||
|
||||
g_dbus_connection_call (dbus->session,
|
||||
PORTAL_BUS_NAME,
|
||||
dbus->session_id,
|
||||
PORTAL_SESSION_INTERFACE,
|
||||
"Close",
|
||||
NULL, NULL, 0, -1, NULL, NULL, NULL);
|
||||
if (dbus->session_id)
|
||||
{
|
||||
g_dbus_connection_call (dbus->session,
|
||||
PORTAL_BUS_NAME,
|
||||
dbus->session_id,
|
||||
PORTAL_SESSION_INTERFACE,
|
||||
"Close",
|
||||
NULL, NULL, 0, -1, NULL, NULL, NULL);
|
||||
|
||||
g_free (dbus->session_id);
|
||||
}
|
||||
|
||||
if (dbus->state_changed_handler)
|
||||
g_dbus_connection_signal_unsubscribe (dbus->session,
|
||||
dbus->state_changed_handler);
|
||||
|
||||
g_free (dbus->session_id);
|
||||
g_dbus_connection_signal_unsubscribe (dbus->session, dbus->state_changed_handler);
|
||||
g_clear_object (&dbus->inhibit_proxy);
|
||||
g_slist_free_full (dbus->inhibit_handles, inhibit_handle_free);
|
||||
g_free (dbus->app_menu_path);
|
||||
|
Loading…
Reference in New Issue
Block a user