[gnome-session/f20] Don't abort when all clients exit

Ray Strode rstrode at fedoraproject.org
Mon Jan 20 20:13:26 UTC 2014


commit 93ba9d9958eadbd9c3cdf914618f6023b632c5c8
Author: Ray Strode <rstrode at redhat.com>
Date:   Mon Jan 20 15:13:13 2014 -0500

    Don't abort when all clients exit
    
    If all of our clients exit, remove_clients_for_connection()
    calls end_phase() which in turn invokes gsm_manager_quit() that
    checks the logout type.
    
    But at this point we only have _LOGOUT_NONE, so we end up aborting.
    It's fine to just call _quit() in this case, and this avoids us
    dumping core.
    
    This was happening to me when session startup failed for other
    reasons.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=710480
    http://bugzilla.redhat.com/1045464

 dont-abort-when-all-clients-exit.patch |   32 ++++++++++++++++++++++++++++++++
 gnome-session.spec                     |   10 +++++++++-
 2 files changed, 41 insertions(+), 1 deletions(-)
---
diff --git a/dont-abort-when-all-clients-exit.patch b/dont-abort-when-all-clients-exit.patch
new file mode 100644
index 0000000..0cbf171
--- /dev/null
+++ b/dont-abort-when-all-clients-exit.patch
@@ -0,0 +1,32 @@
+From 6e203f466118daf9941fb9c8dd64f1488dea14e7 Mon Sep 17 00:00:00 2001
+From: Colin Walters <walters at verbum.org>
+Date: Fri, 18 Oct 2013 22:15:14 +0000
+Subject: gsm-manager: Don't abort when all clients exit
+
+If all of our clients exit, remove_clients_for_connection()
+calls end_phase() which in turn invokes gsm_manager_quit() that
+checks the logout type.
+
+But at this point we only have _LOGOUT_NONE, so we end up aborting.
+It's fine to just call _quit() in this case, and this avoids us
+dumping core.
+
+This was happening to me when session startup failed for other
+reasons.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=710480
+---
+diff --git a/gnome-session/gsm-manager.c b/gnome-session/gsm-manager.c
+index 17b971c..e0d25b5 100644
+--- a/gnome-session/gsm-manager.c
++++ b/gnome-session/gsm-manager.c
+@@ -519,6 +519,7 @@ gsm_manager_quit (GsmManager *manager)
+ 
+         switch (manager->priv->logout_type) {
+         case GSM_MANAGER_LOGOUT_LOGOUT:
++        case GSM_MANAGER_LOGOUT_NONE:
+                 gsm_quit ();
+                 break;
+         case GSM_MANAGER_LOGOUT_REBOOT:
+--
+cgit v0.9.2
diff --git a/gnome-session.spec b/gnome-session.spec
index 5d2c70f..70f202e 100644
--- a/gnome-session.spec
+++ b/gnome-session.spec
@@ -11,7 +11,7 @@
 Summary: GNOME session manager
 Name: gnome-session
 Version: 3.10.1
-Release: 1%{?dist}
+Release: 2%{?dist}
 URL: http://www.gnome.org
 #VCS: git:git://git.gnome.org/gnome-session
 Source0: http://download.gnome.org/sources/gnome-session/3.10/%{name}-%{version}.tar.xz
@@ -21,6 +21,9 @@ Patch1: gnome-session-3.3.92-nv30.patch
 Patch2: 0001-main-Set-XDG_MENU_PREFIX.patch
 Patch3: gnome-session-3.6.2-swrast.patch
 
+# http://bugs.gnome.org/710480
+Patch4: dont-abort-when-all-clients-exit.patch
+
 License: GPLv2+
 Group: User Interface/Desktops
 
@@ -82,6 +85,7 @@ Desktop file to add GNOME to display manager session menu.
 %patch1 -p1 -b .nv30
 %patch2 -p1 -b .set-xdg-menu-prefix
 %patch3 -p1 -b .swrast
+%patch4 -p1 -b .dont-abort-when-all-clients-exit
 
 echo "ACLOCAL_AMFLAGS = -I m4" >> Makefile.am
 
@@ -138,6 +142,10 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &>/dev/null || :
 %{_datadir}/glib-2.0/schemas/org.gnome.SessionManager.gschema.xml
 
 %changelog
+* Mon Jan 20 2014 Ray Strode <rstrode at redhat.com> 3.10.1-2
+- Don't abort when all clients exit
+  Related: #1045464
+
 * Mon Oct 14 2013 Richard Hughes <rhughes at redhat.com> - 3.10.1-1
 - Update to 3.10.1
 


More information about the scm-commits mailing list