diff --git a/0001-Fix-some-problems-in-the-systemd-code.patch b/0001-Fix-some-problems-in-the-systemd-code.patch new file mode 100644 index 0000000..247abf3 --- /dev/null +++ b/0001-Fix-some-problems-in-the-systemd-code.patch @@ -0,0 +1,66 @@ +From 5dc795f32bf7eae5c12d36cd289cf9b9f6438255 Mon Sep 17 00:00:00 2001 +From: Matthias Clasen +Date: Thu, 5 Apr 2012 22:00:17 -0400 +Subject: [PATCH] Fix some problems in the systemd code + +The stop and restart functions forgot to pass the manager +object down, and then tried to emit signals on a NULL +object. Also, we were unreffing a variant that was NULL +half the time. Don't do that. + +Fixes the problem where a poweroff request in the presence +of multiple user sessions leads to a PolicyKit dialog that +comes back every time it is canceled. + +https://bugzilla.gnome.org/show_bug.cgi?id=673619 +--- + gnome-session/gsm-systemd.c | 10 ++++------ + 1 file changed, 4 insertions(+), 6 deletions(-) + +diff --git a/gnome-session/gsm-systemd.c b/gnome-session/gsm-systemd.c +index 5bf64b0..0907bfb 100644 +--- a/gnome-session/gsm-systemd.c ++++ b/gnome-session/gsm-systemd.c +@@ -208,9 +208,8 @@ restart_done (GObject *source, + g_error_free (error); + } else { + emit_restart_complete (manager, NULL); ++ g_variant_unref (res); + } +- +- g_variant_unref (res); + } + + static void +@@ -225,7 +224,7 @@ gsm_systemd_attempt_restart (GsmSystem *system) + G_MAXINT, + NULL, + restart_done, +- NULL); ++ manager); + } + + static void +@@ -246,9 +245,8 @@ stop_done (GObject *source, + g_error_free (error); + } else { + emit_stop_complete (manager, NULL); ++ g_variant_unref (res); + } +- +- g_variant_unref (res); + } + + static void +@@ -263,7 +261,7 @@ gsm_systemd_attempt_stop (GsmSystem *system) + G_MAXINT, + NULL, + stop_done, +- NULL); ++ manager); + } + + static void +-- +1.7.9.3 + diff --git a/gnome-session.spec b/gnome-session.spec index c27732d..f09b3ae 100644 --- a/gnome-session.spec +++ b/gnome-session.spec @@ -3,7 +3,7 @@ Summary: GNOME session manager Name: gnome-session Version: 3.4.0 -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.3/%{name}-%{version}.tar.xz @@ -13,6 +13,8 @@ Source2: gnome.desktop Patch0: gnome-session-3.3.1-llvmpipe.patch # Blacklist NV30: https://bugzilla.redhat.com/show_bug.cgi?id=745202 Patch1: gnome-session-3.3.92-nv30.patch +# https://bugzilla.gnome.org/show_bug.cgi?id=673619 +Patch2: 0001-Fix-some-problems-in-the-systemd-code.patch License: GPLv2+ Group: User Interface/Desktops @@ -82,6 +84,7 @@ Desktop file to add GNOME to display manager session menu. %setup -q %patch0 -p1 -b .llvmpipe %patch1 -p1 -b .nv30 +%patch2 -p1 -b .systemd echo "ACLOCAL_AMFLAGS = -I m4" >> Makefile.am @@ -157,6 +160,9 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas || : %{_datadir}/glib-2.0/schemas/org.gnome.SessionManager.gschema.xml %changelog +* Thu Apr 5 2012 Matthias Clasen - 3.4.0-2 +- Fix a looping PolicyKit dialog on shutdown + * Tue Mar 27 2012 Richard Hughes - 3.4.0-1 - Update to 3.4.0