mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-05-30 13:00:02 +00:00
xfce4-session: update to 4.10.0
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
This commit is contained in:
+22
-39
@@ -1,56 +1,39 @@
|
|||||||
From 64c0acb072057023870881f9fbac29ce08d357db Mon Sep 17 00:00:00 2001
|
From 9f3077be682355e1cd07e9a9463e76307292208c Mon Sep 17 00:00:00 2001
|
||||||
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
|
From: Dimitar Zhekov <hamster@mbox.contact.bg>
|
||||||
Date: Wed, 5 Sep 2012 20:14:09 +0200
|
Date: Thu, 30 Aug 2012 22:52:14 +0200
|
||||||
Subject: [PATCH] Don't loose xfwm4 when closing session with multiple windows
|
Subject: [PATCH] Handle multiple interactive session save (bug #5379).
|
||||||
waiting for user input
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
When closing a session with more than one window open and waiting for unsaved
|
Additionnaly, we now use SmSaveGlobal on log out / shutdown without
|
||||||
data to be closed, at the next session xfwm4 was not started properly.
|
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
|
Based on original work by Chris Bainbridge (chris.bainbridge@gmail.com).
|
||||||
|
|
||||||
* 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>
|
|
||||||
---
|
---
|
||||||
|
Upstream-status: applied
|
||||||
xfce4-session/xfsm-manager.c | 81 ++++++++++++++++++++++++-----------------
|
xfce4-session/xfsm-manager.c | 81 ++++++++++++++++++++++++-----------------
|
||||||
1 files changed, 47 insertions(+), 34 deletions(-)
|
1 files changed, 47 insertions(+), 34 deletions(-)
|
||||||
|
|
||||||
diff --git a/xfce4-session/xfsm-manager.c b/xfce4-session/xfsm-manager.c
|
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
|
--- a/xfce4-session/xfsm-manager.c
|
||||||
+++ b/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;
|
||||||
XfsmShutdownType shutdown_type;
|
XfsmShutdown *shutdown_helper;
|
||||||
+ gboolean save_session;
|
+ gboolean save_session;
|
||||||
|
|
||||||
gboolean session_chooser;
|
gboolean session_chooser;
|
||||||
gchar *session_name;
|
gchar *session_name;
|
||||||
@@ -225,6 +226,7 @@ xfsm_manager_init (XfsmManager *manager)
|
@@ -230,6 +231,7 @@ xfsm_manager_init (XfsmManager *manager)
|
||||||
manager->session_chooser = FALSE;
|
|
||||||
manager->failsafe_mode = TRUE;
|
manager->failsafe_mode = TRUE;
|
||||||
manager->shutdown_type = XFSM_SHUTDOWN_LOGOUT;
|
manager->shutdown_type = XFSM_SHUTDOWN_LOGOUT;
|
||||||
|
manager->shutdown_helper = xfsm_shutdown_get ();
|
||||||
+ manager->save_session = TRUE;
|
+ manager->save_session = TRUE;
|
||||||
|
|
||||||
manager->pending_properties = g_queue_new ();
|
manager->pending_properties = g_queue_new ();
|
||||||
manager->starting_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;
|
XfsmClient *cl = lp->data;
|
||||||
if (xfsm_client_get_state (cl) == XFSM_CLIENT_INTERACTING)
|
if (xfsm_client_get_state (cl) == XFSM_CLIENT_INTERACTING)
|
||||||
{
|
{
|
||||||
@@ -61,9 +44,9 @@ index 3078d6a..3cc4c89 100644
|
|||||||
return;
|
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)
|
- if (!shutdown || shutdown_save)
|
||||||
+ /* don't save the session if shutting down without 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,
|
XfsmClient *client,
|
||||||
gboolean success)
|
gboolean success)
|
||||||
{
|
{
|
||||||
@@ -154,7 +137,7 @@ index 3078d6a..3cc4c89 100644
|
|||||||
{
|
{
|
||||||
xfsm_verbose ("Client Id = %s send SAVE YOURSELF DONE, while not being "
|
xfsm_verbose ("Client Id = %s send SAVE YOURSELF DONE, while not being "
|
||||||
"in save mode. Prepare to be nuked!\n",
|
"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");
|
xfsm_verbose ("Manager finished SAVE YOURSELF, session data will be stored now.\n\n");
|
||||||
|
|
||||||
/* all clients done, store session data */
|
/* all clients done, store session data */
|
||||||
@@ -165,5 +148,5 @@ index 3078d6a..3cc4c89 100644
|
|||||||
if (manager->state == XFSM_MANAGER_CHECKPOINT)
|
if (manager->state == XFSM_MANAGER_CHECKPOINT)
|
||||||
{
|
{
|
||||||
--
|
--
|
||||||
1.7.6.5
|
1.7.4.4
|
||||||
|
|
||||||
+6
-8
@@ -2,13 +2,14 @@ DESCRIPTION = "xfce4-session is a session manager for Xfce 4 Desktop Environment
|
|||||||
SECTION = "x11"
|
SECTION = "x11"
|
||||||
LICENSE = "GPLv2"
|
LICENSE = "GPLv2"
|
||||||
LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88"
|
LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88"
|
||||||
DEPENDS = "virtual/libx11 libsm libxfce4util libxfce4ui gtk+ libwnck dbus dbus-glib xfconf xfce4-panel gconf gnome-keyring"
|
DEPENDS = "virtual/libx11 libsm libxfce4util libxfce4ui gtk+ libwnck dbus dbus-glib xfconf gnome-keyring"
|
||||||
RDEPENDS_${PN} = "netbase xinit dbus-x11 iceauth consolekit"
|
RDEPENDS_${PN} = "netbase xinit dbus-x11 iceauth consolekit upower"
|
||||||
PR = "r2"
|
|
||||||
|
|
||||||
inherit xfce
|
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
|
# protect from frightening message that xfce might not work correctly
|
||||||
pkg_postinst_${PN} () {
|
pkg_postinst_${PN} () {
|
||||||
@@ -17,12 +18,9 @@ pkg_postinst_${PN} () {
|
|||||||
|
|
||||||
FILES_${PN} += "${libdir}/xfce4/*/*/*.so \
|
FILES_${PN} += "${libdir}/xfce4/*/*/*.so \
|
||||||
${libdir}/xfce4/session/*-*-* \
|
${libdir}/xfce4/session/*-*-* \
|
||||||
${datadir}/xfce4/*/* \
|
${datadir}/xsessions \
|
||||||
${datadir}/themes/Default/balou/*"
|
${datadir}/themes/Default/balou/*"
|
||||||
|
|
||||||
FILES_${PN}-dbg += "${libdir}/xfce4/*/*/.debug"
|
FILES_${PN}-dbg += "${libdir}/xfce4/*/*/.debug"
|
||||||
|
|
||||||
FILES_${PN}-staticdev += "${libdir}/xfce4/*/*/*.*a"
|
FILES_${PN}-staticdev += "${libdir}/xfce4/*/*/*.*a"
|
||||||
|
|
||||||
SRC_URI[md5sum] = "461cc38bbd37cab881adbdf943f9a402"
|
|
||||||
SRC_URI[sha256sum] = "f0801b8c0ffa7e5d41b29b8df281ac127adf467bf50e8ded8aebe5a02bd99338"
|
|
||||||
Reference in New Issue
Block a user