[Pkg-xfce-devel] Bug#651842: xfce4-session: always save the session during restart/logout

Asias He asias.hejun at gmail.com
Mon Dec 12 14:58:12 UTC 2011


Package: xfce4-session
Version: 4.8.2-1
Severity: normal

Dear Maintainer,

The session are always saved. Ubuntu has a patch for this issue.

See here for more information:
https://bugs.launchpad.net/ubuntu/+source/xfce4-session/+bug/831772

-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (i686)

Kernel: Linux 3.1.0-1-686-pae (SMP w/4 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages xfce4-session depends on:
ii  libatk1.0-0         2.2.0-2   
ii  libc6               2.13-21   
ii  libcairo2           1.10.2-6.1
ii  libdbus-1-3         1.4.16-1  
ii  libdbus-glib-1-2    0.98-1    
ii  libfontconfig1      2.8.0-3   
ii  libfreetype6        2.4.8-1   
ii  libgdk-pixbuf2.0-0  2.24.0-1  
ii  libglib2.0-0        2.30.2-4  
ii  libgtk2.0-0         2.24.8-2  
ii  libice6             2:1.0.7-2 
ii  libpango1.0-0       1.29.4-2  
ii  libsm6              2:1.2.0-2 
ii  libwnck22           2.30.7-1  
ii  libx11-6            2:1.4.4-4 
ii  libxfce4ui-1-0      4.8.0-3   
ii  libxfce4util4       4.8.2-1   
ii  libxfconf-0-2       4.8.0-3   
ii  xfce4-settings      4.8.3-1   
ii  xfconf              4.8.0-3   

Versions of packages xfce4-session recommends:
ii  consolekit         0.4.5-1 
ii  dbus-x11           1.4.16-1
ii  upower             0.9.14-3
ii  x11-xserver-utils  7.6+3   
ii  xfce4-panel        4.8.6-1 
ii  xfce4-utils        4.8.3-1 
ii  xfdesktop4         4.8.3-1 
ii  xfwm4              4.8.2-1 

Versions of packages xfce4-session suggests:
ii  fortunes-mod  <none>   
ii  sudo          1.8.3p1-2

-- no debconf information

>From d7311f2dcedd96f5833acceb27f9d17275893e1e Mon Sep 17 00:00:00 2001
From: Lionel Le Folgoc <lionel at lefolgoc.net>
Date: Thu, 25 Aug 2011 14:22:24 +0200
Subject: Do not always save session with xfce4-logout-plugin (Bug #7915)

Respect the value of the "/general/SaveOnExit" option from xfce4-session in the
logout panel plugin as well.
---
 panel-plugin/Makefile.am          |    2 ++
 panel-plugin/xfsm-logout-plugin.c |   14 +++++++++++++-
 2 files changed, 15 insertions(+), 1 deletions(-)

diff --git a/panel-plugin/Makefile.am b/panel-plugin/Makefile.am
index 0675e2e..fd0609b 100644
--- a/panel-plugin/Makefile.am
+++ b/panel-plugin/Makefile.am
@@ -18,6 +18,7 @@ libxfsm_logout_plugin_la_SOURCES = \
 libxfsm_logout_plugin_la_CFLAGS = \
 	$(LIBX11_CFLAGS) \
 	$(LIBXFCE4PANEL_CFLAGS) \
+	$(XFCONF_CFLAGS) \
 	$(LIBXFCE4UTIL_CFLAGS) \
 	$(LIBXFCE4UI_CFLAGS) \
 	$(GTK_CFLAGS) \
@@ -26,6 +27,7 @@ libxfsm_logout_plugin_la_CFLAGS = \
 libxfsm_logout_plugin_la_LIBADD = \
 	$(LIBX11_LIBS) \
 	$(LIBXFCE4PANEL_LIBS) \
+	$(XFCONF_LIBS) \
 	$(LIBXFCE4UTIL_LIBS) \
 	$(LIBXFCE4UI_LIBS) \
 	$(GTK_LIBS) \
diff --git a/panel-plugin/xfsm-logout-plugin.c b/panel-plugin/xfsm-logout-plugin.c
index b8e25ab..12dec0f 100644
--- a/panel-plugin/xfsm-logout-plugin.c
+++ b/panel-plugin/xfsm-logout-plugin.c
@@ -43,6 +43,7 @@
 
 #include <libxfce4util/libxfce4util.h>
 #include <libxfce4ui/libxfce4ui.h>
+#include <xfconf/xfconf.h>
 #include <libxfce4panel/libxfce4panel.h>
 
 #include "xfsm-logout-plugin-ui.h"
@@ -207,12 +208,23 @@ static void
 xfsm_logout_plugin_show_confirmation_dialog(XfsmLogoutPlugin *logout_plugin,
                                             XfsmShutdownType type)
 {
+    GError *error = NULL;
+    XfconfChannel *channel;
     gint resp = GTK_RESPONSE_ACCEPT;
 
     g_return_if_fail(logout_plugin != NULL);
     g_return_if_fail(type >= XFSM_SHUTDOWN_LOGOUT && type <= XFSM_SHUTDOWN_HIBERNATE);
 
-    logout_plugin->allow_save = TRUE;
+    if (G_UNLIKELY (!xfconf_init (&error))) {
+        g_warning ("Unable to contact settings server: %s", error->message);
+        g_error_free (error);
+        logout_plugin->allow_save = TRUE;
+    }
+    else {
+        channel = xfconf_channel_get ("xfce4-session");
+        logout_plugin->allow_save = xfconf_channel_get_bool (channel, "/general/SaveOnExit", TRUE);
+        xfconf_shutdown ();
+    }
 
     if(type != XFSM_SHUTDOWN_SUSPEND && type != XFSM_SHUTDOWN_HIBERNATE) {
         GtkWidget *dialog, *topvbox, *hbox, *image, *label;
-- 
1.7.2.5





More information about the Pkg-xfce-devel mailing list