From be0f17ff55061ab43636449f4d15a89e418d1f3c Mon Sep 17 00:00:00 2001 From: lukefromdc Date: Sun, 9 Oct 2016 16:30:21 -0400 Subject: GtkApplication: Disable session management when root/not in MATE Limit session management to non-root sessions within MATE to stop restart loops in root sessions and inablity to kill off Caja in non-mate sessions such as XFCE. Also remove the autostarted hold-in previously used to stop restart loops. egg_sm_client_set_mode only works when called before the main loop starts, thus it cannot be used in GtkApplication startup functions or otherwise later in the program. Note that this commit restores the Caja 3.16 and earlier restart loop in normal mate sessions if a user disables icons on the desktop, then sets exit_with_last_window. The combination is the default for root/not in mate sessions though, so without the ability to set "no restart" later than the start of the main loop, session management outside of MATE and in root sessions has to be disabled. --- src/caja-application.c | 10 ---------- 1 file changed, 10 deletions(-) (limited to 'src') diff --git a/src/caja-application.c b/src/caja-application.c index 0a995c40..f469eccf 100644 --- a/src/caja-application.c +++ b/src/caja-application.c @@ -348,8 +348,6 @@ smclient_quit_cb (EggSMClient *client, static void caja_application_smclient_initialize (CajaApplication *self) { - egg_sm_client_set_mode (EGG_SM_CLIENT_MODE_NORMAL); - g_signal_connect (self->smclient, "save_state", G_CALLBACK (smclient_save_state_cb), self); @@ -364,8 +362,6 @@ void caja_application_smclient_startup (CajaApplication *self) { g_assert (self->smclient == NULL); - - egg_sm_client_set_mode (EGG_SM_CLIENT_MODE_DISABLED); self->smclient = egg_sm_client_get (); } @@ -3250,12 +3246,6 @@ caja_application_startup (GApplication *app) instance = g_application_get_default (); - /* Always hold in if autostarted to avoid restart loop */ - /* Otherwise follow preferences/running in mate/running as root */ - if (exit_with_last_window == FALSE || self->priv->autostart == TRUE){ - g_application_hold (G_APPLICATION (instance)); - } - do_upgrades_once (self); } -- cgit v1.2.1