summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuli Suominen <ssuominen@gentoo.org>2014-04-22 13:39:40 +0000
committerSamuli Suominen <ssuominen@gentoo.org>2014-04-22 13:39:40 +0000
commitd298d46cb18a30fe3021b7789812b344d7cba57f (patch)
treed300c7af1391ff87cc40720077df79f0891b5c33 /xfce-base/xfce4-session
parentold (diff)
downloadgentoo-2-d298d46cb18a30fe3021b7789812b344d7cba57f.tar.gz
gentoo-2-d298d46cb18a30fe3021b7789812b344d7cba57f.tar.bz2
gentoo-2-d298d46cb18a30fe3021b7789812b344d7cba57f.zip
old
(Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key 4868F14D)
Diffstat (limited to 'xfce-base/xfce4-session')
-rw-r--r--xfce-base/xfce4-session/ChangeLog6
-rw-r--r--xfce-base/xfce4-session/files/xfce4-session-4.10.0-multiple-interactive-session-save.patch147
2 files changed, 4 insertions, 149 deletions
diff --git a/xfce-base/xfce4-session/ChangeLog b/xfce-base/xfce4-session/ChangeLog
index dd47111639fd..6529ca7d495f 100644
--- a/xfce-base/xfce4-session/ChangeLog
+++ b/xfce-base/xfce4-session/ChangeLog
@@ -1,9 +1,11 @@
# ChangeLog for xfce-base/xfce4-session
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/xfce-base/xfce4-session/ChangeLog,v 1.202 2014/04/22 13:37:50 ssuominen Exp $
+# $Header: /var/cvsroot/gentoo-x86/xfce-base/xfce4-session/ChangeLog,v 1.203 2014/04/22 13:39:40 ssuominen Exp $
22 Apr 2014; Samuli Suominen <ssuominen@gentoo.org>
- -xfce4-session-4.10.0-r1.ebuild, -xfce4-session-4.10.1.ebuild, metadata.xml:
+ -xfce4-session-4.10.0-r1.ebuild, -xfce4-session-4.10.1.ebuild,
+ -files/xfce4-session-4.10.0-multiple-interactive-session-save.patch,
+ metadata.xml:
old
20 Apr 2014; Agostino Sarubbo <ago@gentoo.org> xfce4-session-4.10.1-r1.ebuild:
diff --git a/xfce-base/xfce4-session/files/xfce4-session-4.10.0-multiple-interactive-session-save.patch b/xfce-base/xfce4-session/files/xfce4-session-4.10.0-multiple-interactive-session-save.patch
deleted file mode 100644
index 2fc908495bfa..000000000000
--- a/xfce-base/xfce4-session/files/xfce4-session-4.10.0-multiple-interactive-session-save.patch
+++ /dev/null
@@ -1,147 +0,0 @@
-From 6cb3937aa9cf0c9905a77d0bc2b5be8cc2536e44 Mon Sep 17 00:00:00 2001
-From: Dimitar Zhekov <hamster@mbox.contact.bg>
-Date: Thu, 30 Aug 2012 20:52:14 +0000
-Subject: Handle multiple interactive session save (bug #5379).
-
-Additionnaly, we now use SmSaveGlobal on log out / shutdown without
-session save which avoids data loss. Previously clients would not save
-anything on log out without session save.
-
-Based on original work by Chris Bainbridge (chris.bainbridge@gmail.com).
----
-diff --git a/xfce4-session/xfsm-manager.c b/xfce4-session/xfsm-manager.c
-index bf6a446..35811c5 100644
---- a/xfce4-session/xfsm-manager.c
-+++ b/xfce4-session/xfsm-manager.c
-@@ -98,6 +98,7 @@ struct _XfsmManager
-
- XfsmShutdownType shutdown_type;
- XfsmShutdown *shutdown_helper;
-+ gboolean save_session;
-
- gboolean session_chooser;
- gchar *session_name;
-@@ -230,6 +231,7 @@ xfsm_manager_init (XfsmManager *manager)
- manager->failsafe_mode = TRUE;
- manager->shutdown_type = XFSM_SHUTDOWN_LOGOUT;
- manager->shutdown_helper = xfsm_shutdown_get ();
-+ manager->save_session = TRUE;
-
- manager->pending_properties = g_queue_new ();
- manager->starting_properties = g_queue_new ();
-@@ -989,7 +991,9 @@ xfsm_manager_interact (XfsmManager *manager,
- XfsmClient *cl = lp->data;
- if (xfsm_client_get_state (cl) == XFSM_CLIENT_INTERACTING)
- {
-- xfsm_client_set_state (cl, XFSM_CLIENT_WAITFORINTERACT);
-+ /* a client is already interacting, so new client has to wait */
-+ xfsm_client_set_state (client, XFSM_CLIENT_WAITFORINTERACT);
-+ xfsm_manager_cancel_client_save_timeout(manager, client);
- return;
- }
- }
-@@ -1138,44 +1142,47 @@ xfsm_manager_save_yourself_global (XfsmManager *manager,
- }
- }
-
-- if (!shutdown || shutdown_save)
-+ /* don't save the session if shutting down without save */
-+ manager->save_session = !shutdown || shutdown_save;
-+
-+ if (save_type == SmSaveBoth && !manager->save_session)
- {
-- xfsm_manager_set_state (manager,
-- shutdown
-- ? XFSM_MANAGER_SHUTDOWN
-- : XFSM_MANAGER_CHECKPOINT);
-+ /* saving the session, so clients should
-+ * (prompt to) save the user data only */
-+ save_type = SmSaveGlobal;
-+ }
-
-- /* handle legacy applications first! */
-- xfsm_legacy_perform_session_save ();
-+ xfsm_manager_set_state (manager,
-+ shutdown
-+ ? XFSM_MANAGER_SHUTDOWN
-+ : XFSM_MANAGER_CHECKPOINT);
-
-- for (lp = g_queue_peek_nth_link (manager->running_clients, 0);
-- lp;
-- lp = lp->next)
-- {
-- XfsmClient *client = lp->data;
-- XfsmProperties *properties = xfsm_client_get_properties (client);
-- const gchar *program;
-+ /* handle legacy applications first! */
-+ if (manager->save_session)
-+ xfsm_legacy_perform_session_save ();
-
-- /* xterm's session management is broken, so we won't
-- * send a SAVE YOURSELF to xterms */
-- program = xfsm_properties_get_string (properties, SmProgram);
-- if (program != NULL && strcasecmp (program, "xterm") == 0)
-- continue;
-+ for (lp = g_queue_peek_nth_link (manager->running_clients, 0);
-+ lp;
-+ lp = lp->next)
-+ {
-+ XfsmClient *client = lp->data;
-+ XfsmProperties *properties = xfsm_client_get_properties (client);
-+ const gchar *program;
-
-- if (xfsm_client_get_state (client) != XFSM_CLIENT_SAVINGLOCAL)
-- {
-- SmsSaveYourself (xfsm_client_get_sms_connection (client), save_type, shutdown,
-- interact_style, fast);
-- }
-+ /* xterm's session management is broken, so we won't
-+ * send a SAVE YOURSELF to xterms */
-+ program = xfsm_properties_get_string (properties, SmProgram);
-+ if (program != NULL && strcasecmp (program, "xterm") == 0)
-+ continue;
-
-- xfsm_client_set_state (client, XFSM_CLIENT_SAVING);
-- xfsm_manager_start_client_save_timeout (manager, client);
-+ if (xfsm_client_get_state (client) != XFSM_CLIENT_SAVINGLOCAL)
-+ {
-+ SmsSaveYourself (xfsm_client_get_sms_connection (client), save_type, shutdown,
-+ interact_style, fast);
- }
-- }
-- else
-- {
-- /* shutdown session without saving */
-- xfsm_manager_perform_shutdown (manager);
-+
-+ xfsm_client_set_state (client, XFSM_CLIENT_SAVING);
-+ xfsm_manager_start_client_save_timeout (manager, client);
- }
- }
-
-@@ -1249,7 +1256,12 @@ xfsm_manager_save_yourself_done (XfsmManager *manager,
- XfsmClient *client,
- gboolean success)
- {
-- if (xfsm_client_get_state (client) != XFSM_CLIENT_SAVING && xfsm_client_get_state (client) != XFSM_CLIENT_SAVINGLOCAL)
-+ /* In xfsm_manager_interact_done we send SmsShutdownCancelled to clients in
-+ XFSM_CLIENT_WAITFORINTERACT state. They respond with SmcSaveYourselfDone
-+ (xsmp_shutdown_cancelled in libxfce4ui library) so we allow it here. */
-+ if (xfsm_client_get_state (client) != XFSM_CLIENT_SAVING &&
-+ xfsm_client_get_state (client) != XFSM_CLIENT_SAVINGLOCAL &&
-+ xfsm_client_get_state (client) != XFSM_CLIENT_WAITFORINTERACT)
- {
- xfsm_verbose ("Client Id = %s send SAVE YOURSELF DONE, while not being "
- "in save mode. Prepare to be nuked!\n",
-@@ -1521,7 +1533,8 @@ xfsm_manager_complete_saveyourself (XfsmManager *manager)
- xfsm_verbose ("Manager finished SAVE YOURSELF, session data will be stored now.\n\n");
-
- /* all clients done, store session data */
-- xfsm_manager_store_session (manager);
-+ if (manager->save_session)
-+ xfsm_manager_store_session (manager);
-
- if (manager->state == XFSM_MANAGER_CHECKPOINT)
- {
---
-cgit v0.9.0.3