diff options
author | lukefromdc <[email protected]> | 2016-10-09 16:30:21 -0400 |
---|---|---|
committer | lukefromdc <[email protected]> | 2016-10-09 16:30:21 -0400 |
commit | be0f17ff55061ab43636449f4d15a89e418d1f3c (patch) | |
tree | b53e172ffbdad99f22c4a7d85dd49e2154fe1e87 /src | |
parent | 9e5ea15d104720cfee752c193b77f8b03558c6b9 (diff) | |
download | caja-be0f17ff55061ab43636449f4d15a89e418d1f3c.tar.bz2 caja-be0f17ff55061ab43636449f4d15a89e418d1f3c.tar.xz |
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.
Diffstat (limited to 'src')
-rw-r--r-- | src/caja-application.c | 10 |
1 files changed, 0 insertions, 10 deletions
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); } |