xfce4-session: update to 4.10.0

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
This commit is contained in:
Andreas Müller 2012-09-16 17:44:54 +02:00
parent 38c7431203
commit db799a93e2
2 changed files with 28 additions and 47 deletions

View File

@ -1,56 +1,39 @@
From 64c0acb072057023870881f9fbac29ce08d357db Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
Date: Wed, 5 Sep 2012 20:14:09 +0200
Subject: [PATCH] Don't loose xfwm4 when closing session with multiple windows
waiting for user input
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
From 9f3077be682355e1cd07e9a9463e76307292208c Mon Sep 17 00:00:00 2001
From: Dimitar Zhekov <hamster@mbox.contact.bg>
Date: Thu, 30 Aug 2012 22:52:14 +0200
Subject: [PATCH] Handle multiple interactive session save (bug #5379).
When closing a session with more than one window open and waiting for unsaved
data to be closed, at the next session xfwm4 was not started properly.
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.
The bug(fix) could be reproduced by
* opening gedit
* entering some text
* opening terminal
* closing session (no YNC-dialog / wait ~1min to close session)
* reopen session
Bugreport with this patch is found at [1] further discussion at [2].
Upstream-Status: Pending
[1] https://bugzilla.xfce.org/show_bug.cgi?id=5379
[2] http://mail.xfce.org/pipermail/xfce/2012-August/031174.html
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Based on original work by Chris Bainbridge (chris.bainbridge@gmail.com).
---
Upstream-status: applied
xfce4-session/xfsm-manager.c | 81 ++++++++++++++++++++++++-----------------
1 files changed, 47 insertions(+), 34 deletions(-)
diff --git a/xfce4-session/xfsm-manager.c b/xfce4-session/xfsm-manager.c
index 3078d6a..3cc4c89 100644
index bf6a446..35811c5 100644
--- a/xfce4-session/xfsm-manager.c
+++ b/xfce4-session/xfsm-manager.c
@@ -96,6 +96,7 @@ struct _XfsmManager
@@ -98,6 +98,7 @@ struct _XfsmManager
XfsmManagerState state;
XfsmShutdownType shutdown_type;
+ gboolean save_session;
XfsmShutdownType shutdown_type;
XfsmShutdown *shutdown_helper;
+ gboolean save_session;
gboolean session_chooser;
gchar *session_name;
@@ -225,6 +226,7 @@ xfsm_manager_init (XfsmManager *manager)
manager->session_chooser = FALSE;
@@ -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 ();
@@ -981,7 +983,9 @@ xfsm_manager_interact (XfsmManager *manager,
@@ -989,7 +991,9 @@ xfsm_manager_interact (XfsmManager *manager,
XfsmClient *cl = lp->data;
if (xfsm_client_get_state (cl) == XFSM_CLIENT_INTERACTING)
{
@ -61,9 +44,9 @@ index 3078d6a..3cc4c89 100644
return;
}
}
@@ -1158,44 +1162,47 @@ xfsm_manager_save_yourself_global (XfsmManager *manager,
@@ -1138,44 +1142,47 @@ xfsm_manager_save_yourself_global (XfsmManager *manager,
}
}
#endif
- if (!shutdown || shutdown_save)
+ /* don't save the session if shutting down without save */
@ -140,7 +123,7 @@ index 3078d6a..3cc4c89 100644
}
}
@@ -1267,7 +1274,12 @@ xfsm_manager_save_yourself_done (XfsmManager *manager,
@@ -1249,7 +1256,12 @@ xfsm_manager_save_yourself_done (XfsmManager *manager,
XfsmClient *client,
gboolean success)
{
@ -154,7 +137,7 @@ index 3078d6a..3cc4c89 100644
{
xfsm_verbose ("Client Id = %s send SAVE YOURSELF DONE, while not being "
"in save mode. Prepare to be nuked!\n",
@@ -1539,7 +1551,8 @@ xfsm_manager_complete_saveyourself (XfsmManager *manager)
@@ -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 */
@ -165,5 +148,5 @@ index 3078d6a..3cc4c89 100644
if (manager->state == XFSM_MANAGER_CHECKPOINT)
{
--
1.7.6.5
1.7.4.4

View File

@ -2,13 +2,14 @@ DESCRIPTION = "xfce4-session is a session manager for Xfce 4 Desktop Environment
SECTION = "x11"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88"
DEPENDS = "virtual/libx11 libsm libxfce4util libxfce4ui gtk+ libwnck dbus dbus-glib xfconf xfce4-panel gconf gnome-keyring"
RDEPENDS_${PN} = "netbase xinit dbus-x11 iceauth consolekit"
PR = "r2"
DEPENDS = "virtual/libx11 libsm libxfce4util libxfce4ui gtk+ libwnck dbus dbus-glib xfconf gnome-keyring"
RDEPENDS_${PN} = "netbase xinit dbus-x11 iceauth consolekit upower"
inherit xfce
SRC_URI += "file://0001-Don-t-loose-xfwm4-when-closing-session-with-multiple.patch"
SRC_URI[md5sum] = "4768e1a41a0287af6aad18b329a0f230"
SRC_URI[sha256sum] = "bb8aa9a74c3d382840596fb4875144d66c7f3f47c8e9ee81d31e3428a72c46ce"
SRC_URI += "file://0001-Handle-multiple-interactive-session-save-bug-5379.patch"
# protect from frightening message that xfce might not work correctly
pkg_postinst_${PN} () {
@ -17,12 +18,9 @@ pkg_postinst_${PN} () {
FILES_${PN} += "${libdir}/xfce4/*/*/*.so \
${libdir}/xfce4/session/*-*-* \
${datadir}/xfce4/*/* \
${datadir}/xsessions \
${datadir}/themes/Default/balou/*"
FILES_${PN}-dbg += "${libdir}/xfce4/*/*/.debug"
FILES_${PN}-staticdev += "${libdir}/xfce4/*/*/*.*a"
SRC_URI[md5sum] = "461cc38bbd37cab881adbdf943f9a402"
SRC_URI[sha256sum] = "f0801b8c0ffa7e5d41b29b8df281ac127adf467bf50e8ded8aebe5a02bd99338"