diff options
Diffstat (limited to '0001-GtkApplication-Fix-CRITICAL-on-shutdown-when-registe.patch')
-rw-r--r-- | 0001-GtkApplication-Fix-CRITICAL-on-shutdown-when-registe.patch | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/0001-GtkApplication-Fix-CRITICAL-on-shutdown-when-registe.patch b/0001-GtkApplication-Fix-CRITICAL-on-shutdown-when-registe.patch new file mode 100644 index 0000000..55c3166 --- /dev/null +++ b/0001-GtkApplication-Fix-CRITICAL-on-shutdown-when-registe.patch @@ -0,0 +1,49 @@ +From 3c7d5e749ccafa75718ef00f1d5f6cdc0defacb3 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com> +Date: Wed, 5 Sep 2018 21:46:28 +0200 +Subject: [PATCH] GtkApplication: Fix CRITICAL on shutdown when + register_session=FALSE + +--- + gtk/gtkapplication-dbus.c | 25 ++++++++++++++++--------- + 1 file changed, 16 insertions(+), 9 deletions(-) + +diff --git a/gtk/gtkapplication-dbus.c b/gtk/gtkapplication-dbus.c +index 25015eb68c..0946edf35c 100644 +--- a/gtk/gtkapplication-dbus.c ++++ b/gtk/gtkapplication-dbus.c +@@ -826,15 +826,22 @@ gtk_application_impl_dbus_finalize (GObject *object) + { + GtkApplicationImplDBus *dbus = (GtkApplicationImplDBus *) object; + +- g_dbus_connection_call (dbus->session, +- "org.freedesktop.portal.Desktop", +- dbus->session_id, +- "org.freedesktop.portal.Session", +- "Close", +- NULL, NULL, 0, -1, NULL, NULL, NULL); +- +- g_free (dbus->session_id); +- g_dbus_connection_signal_unsubscribe (dbus->session, dbus->state_changed_handler); ++ if (dbus->session_id) ++ { ++ g_dbus_connection_call (dbus->session, ++ "org.freedesktop.portal.Desktop", ++ dbus->session_id, ++ "org.freedesktop.portal.Session", ++ "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_clear_object (&dbus->inhibit_proxy); + g_slist_free_full (dbus->inhibit_handles, inhibit_handle_free); + g_free (dbus->app_menu_path); +-- +2.19.0.rc0 + |