[gnome-session] Fix SessionIsActive property thereby fixing screens not going to sleep

Bastien Nocera hadess at fedoraproject.org
Fri Mar 6 23:32:57 UTC 2015


commit 2a97b6a12aa83f635ed776615d23b6fcb1f84d9d
Author: Bastien Nocera <hadess at hadess.net>
Date:   Sat Mar 7 00:32:04 2015 +0100

    Fix SessionIsActive property thereby fixing screens not going to sleep
    
    - Disable GConf autostart support

 0001-Fix-SessionIsActive-property.patch | 36 +++++++++++++++++++++++++++++++++
 gnome-session.spec                      | 14 ++++++++++---
 2 files changed, 47 insertions(+), 3 deletions(-)
---
diff --git a/0001-Fix-SessionIsActive-property.patch b/0001-Fix-SessionIsActive-property.patch
new file mode 100644
index 0000000..e692ee5
--- /dev/null
+++ b/0001-Fix-SessionIsActive-property.patch
@@ -0,0 +1,36 @@
+From f1424cd84dc3488922c91a918d9a4f5bdbfb2756 Mon Sep 17 00:00:00 2001
+From: Matthias Clasen <mclasen at redhat.com>
+Date: Fri, 6 Mar 2015 18:13:40 -0500
+Subject: [PATCH] Fix SessionIsActive property
+
+GsmSystemd emits its cold-plug notify::active signal out of
+init(), giving GsmManager no chance to connect its signal handler
+in time to catch the initial emission. And even if we did,
+the GsmManager handler can only operate once the skeleton object
+exists.
+Therefore, do our own cold-plug after creating the skeleton.
+
+This is fallout from the GDBus port.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=745762
+---
+ gnome-session/gsm-manager.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/gnome-session/gsm-manager.c b/gnome-session/gsm-manager.c
+index 775873f..70ef94f 100644
+--- a/gnome-session/gsm-manager.c
++++ b/gnome-session/gsm-manager.c
+@@ -3210,6 +3210,9 @@ register_manager (GsmManager *manager)
+         manager->priv->connection = connection;
+         manager->priv->skeleton = skeleton;
+ 
++        /* cold-plug SessionIsActive */
++        on_gsm_system_active_changed (manager->priv->system, NULL, manager);
++
+         return TRUE;
+ }
+ 
+-- 
+2.3.1
+
diff --git a/gnome-session.spec b/gnome-session.spec
index 44f0b0c..474a0e5 100644
--- a/gnome-session.spec
+++ b/gnome-session.spec
@@ -11,7 +11,7 @@
 Summary: GNOME session manager
 Name: gnome-session
 Version: 3.15.90
-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.15/%{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
 
+# https://bugzilla.gnome.org/show_bug.cgi?id=745762
+Patch4: 0001-Fix-SessionIsActive-property.patch
+
 License: GPLv2+
 Group: User Interface/Desktops
 
@@ -33,7 +36,6 @@ Requires: gsettings-desktop-schemas >= 0.1.7
 # pull in dbus-x11, see bug 209924
 Requires: dbus-x11
 
-BuildRequires: pkgconfig(gconf-2.0)
 BuildRequires: pkgconfig(gl)
 BuildRequires: pkgconfig(gnome-desktop-3.0)
 BuildRequires: pkgconfig(gtk+-3.0) >= 2.99.0
@@ -90,6 +92,7 @@ Desktop file to add GNOME on wayland to display manager session menu.
 %patch1 -p1 -b .nv30
 %patch2 -p1 -b .set-xdg-menu-prefix
 %patch3 -p1 -b .swrast
+%patch4 -p1 -b .session-is-active
 
 echo "ACLOCAL_AMFLAGS = -I m4" >> Makefile.am
 
@@ -100,7 +103,8 @@ autoreconf -i -f
 %if 0%{?with_session_selector}
            --enable-session-selector                            \
 %endif
-           --enable-systemd
+           --enable-systemd                                     \
+           --disable-gconf
 make %{?_smp_mflags} V=1
 
 %install
@@ -146,6 +150,10 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &>/dev/null || :
 %{_datadir}/glib-2.0/schemas/org.gnome.SessionManager.gschema.xml
 
 %changelog
+* Sat Mar 07 2015 Bastien Nocera <bnocera at redhat.com> 3.15.90-2
+- Fix SessionIsActive property thereby fixing screens not going to sleep
+- Disable GConf autostart support
+
 * Thu Feb 19 2015 David King <amigadave at amigadave.com> - 3.15.90-1
 - Update to 3.15.90
 


More information about the scm-commits mailing list