Blame SOURCES/0007-manager-Don-t-clear-saved-session-if-autosaving-is-d.patch

5d36d8
From b8e1b19177e1bbe866ed5561880eaaa7852d31dd Mon Sep 17 00:00:00 2001
5d36d8
From: Ray Strode <rstrode@redhat.com>
5d36d8
Date: Fri, 20 Dec 2013 16:14:16 -0500
5d36d8
Subject: [PATCH 07/19] manager: Don't clear saved session if autosaving is
5d36d8
 disabled
5d36d8
5d36d8
Now that we support on-demand saving again, we need to make sure
5d36d8
we don't wipe that away at log out.
5d36d8
---
5d36d8
 gnome-session/gsm-manager.c | 1 -
5d36d8
 1 file changed, 1 deletion(-)
5d36d8
5d36d8
diff --git a/gnome-session/gsm-manager.c b/gnome-session/gsm-manager.c
5d36d8
index 012f3d3f..ce2ffbcf 100644
5d36d8
--- a/gnome-session/gsm-manager.c
5d36d8
+++ b/gnome-session/gsm-manager.c
5d36d8
@@ -1790,61 +1790,60 @@ on_xsmp_client_register_confirmed (GsmXSMPClient *client,
5d36d8
         app = find_app_for_startup_id (manager, id);
5d36d8
 
5d36d8
         if (app != NULL) {
5d36d8
                 gsm_app_set_registered (app, TRUE);
5d36d8
         }
5d36d8
 }
5d36d8
 
5d36d8
 static gboolean
5d36d8
 auto_save_is_enabled (GsmManager *manager)
5d36d8
 {
5d36d8
         return g_settings_get_boolean (manager->priv->settings, KEY_AUTOSAVE_ONE_SHOT)
5d36d8
             || g_settings_get_boolean (manager->priv->settings, KEY_AUTOSAVE);
5d36d8
 }
5d36d8
 
5d36d8
 static void
5d36d8
 maybe_save_session (GsmManager *manager)
5d36d8
 {
5d36d8
         GError *error;
5d36d8
 
5d36d8
         if (gsm_system_is_login_session (manager->priv->system))
5d36d8
                 return;
5d36d8
 
5d36d8
         /* We only allow session saving when session is running or when
5d36d8
          * logging out */
5d36d8
         if (manager->priv->phase != GSM_MANAGER_PHASE_RUNNING &&
5d36d8
             manager->priv->phase != GSM_MANAGER_PHASE_END_SESSION) {
5d36d8
                 return;
5d36d8
         }
5d36d8
 
5d36d8
         if (!auto_save_is_enabled (manager)) {
5d36d8
-                gsm_session_save_clear ();
5d36d8
                 return;
5d36d8
         }
5d36d8
 
5d36d8
         error = NULL;
5d36d8
         gsm_session_save (manager->priv->clients, &error);
5d36d8
 
5d36d8
         if (error) {
5d36d8
                 g_warning ("Error saving session: %s", error->message);
5d36d8
                 g_error_free (error);
5d36d8
         }
5d36d8
 }
5d36d8
 
5d36d8
 static void
5d36d8
 _handle_client_end_session_response (GsmManager *manager,
5d36d8
                                      GsmClient  *client,
5d36d8
                                      gboolean    is_ok,
5d36d8
                                      gboolean    do_last,
5d36d8
                                      gboolean    cancel,
5d36d8
                                      const char *reason)
5d36d8
 {
5d36d8
         /* just ignore if received outside of shutdown */
5d36d8
         if (manager->priv->phase < GSM_MANAGER_PHASE_QUERY_END_SESSION) {
5d36d8
                 return;
5d36d8
         }
5d36d8
 
5d36d8
         g_debug ("GsmManager: Response from end session request: is-ok=%d do-last=%d cancel=%d reason=%s", is_ok, do_last, cancel, reason ? reason :"");
5d36d8
 
5d36d8
         if (cancel) {
5d36d8
                 cancel_end_session (manager);
5d36d8
                 return;
5d36d8
-- 
5d36d8
2.12.0
5d36d8