[gnome-settings-daemon] backport some important pm fixes from 3.2 branch
Adam Williamson
adamwill at fedoraproject.org
Wed Oct 12 20:18:38 UTC 2011
commit 40e622c766981247dfd2782211795ec1511e6bb2
Author: Adam Williamson <awilliam at redhat.com>
Date: Wed Oct 12 13:18:09 2011 -0700
backport some important pm fixes from 3.2 branch
...ings-daemon-3.2.0-dont_restore_brightness.patch | 50 ++++++++++++++++++++
gnome-settings-daemon-3.2.0-dpms_on.patch | 39 +++++++++++++++
...tings-daemon-3.2.0-idle_brightness_revert.patch | 29 +++++++++++
gnome-settings-daemon-3.2.0-no_default_sleep.patch | 41 ++++++++++++++++
gnome-settings-daemon.spec | 16 ++++++-
5 files changed, 174 insertions(+), 1 deletions(-)
---
diff --git a/gnome-settings-daemon-3.2.0-dont_restore_brightness.patch b/gnome-settings-daemon-3.2.0-dont_restore_brightness.patch
new file mode 100644
index 0000000..5dfd4d7
--- /dev/null
+++ b/gnome-settings-daemon-3.2.0-dont_restore_brightness.patch
@@ -0,0 +1,50 @@
+From 7e9ff82377c6ada10554037c873f53b0fd8fe949 Mon Sep 17 00:00:00 2001
+From: Richard Hughes <richard at hughsie.com>
+Date: Fri, 23 Sep 2011 11:21:51 +0000
+Subject: power: Don't restore the brightness if it's never been set
+
+---
+diff --git a/plugins/power/gsd-power-manager.c b/plugins/power/gsd-power-manager.c
+index b528a97..f118642 100644
+--- a/plugins/power/gsd-power-manager.c
++++ b/plugins/power/gsd-power-manager.c
+@@ -2743,15 +2743,18 @@ idle_set_mode (GsdPowerManager *manager, GsdPowerIdleMode mode)
+ g_clear_error (&error);
+ }
+
+- ret = backlight_set_abs (manager,
+- manager->priv->pre_dim_brightness,
+- &error);
+- if (!ret) {
+- g_warning ("failed to restore backlight to %i: %s",
+- manager->priv->pre_dim_brightness,
+- error->message);
+- g_error_free (error);
+- return;
++ /* reset brightness if we dimmed */
++ if (manager->priv->pre_dim_brightness >= 0) {
++ ret = backlight_set_abs (manager,
++ manager->priv->pre_dim_brightness,
++ &error);
++ if (!ret) {
++ g_warning ("failed to restore backlight to %i: %s",
++ manager->priv->pre_dim_brightness,
++ error->message);
++ g_error_free (error);
++ return;
++ }
+ }
+ }
+ }
+@@ -3298,7 +3301,7 @@ gsd_power_manager_start (GsdPowerManager *manager,
+ manager);
+
+ manager->priv->kbd_brightness_old = -1;
+- manager->priv->pre_dim_brightness = 100;
++ manager->priv->pre_dim_brightness = -1;
+ manager->priv->settings = g_settings_new (GSD_POWER_SETTINGS_SCHEMA);
+ g_signal_connect (manager->priv->settings, "changed",
+ G_CALLBACK (engine_settings_key_changed_cb), manager);
+--
+cgit v0.9.0.2
+
diff --git a/gnome-settings-daemon-3.2.0-dpms_on.patch b/gnome-settings-daemon-3.2.0-dpms_on.patch
new file mode 100644
index 0000000..41ccd87
--- /dev/null
+++ b/gnome-settings-daemon-3.2.0-dpms_on.patch
@@ -0,0 +1,39 @@
+From aaae8e5e9deae04d0d1980f8e70f64db428f6a5f Mon Sep 17 00:00:00 2001
+From: Richard Hughes <richard at hughsie.com>
+Date: Mon, 03 Oct 2011 15:31:07 +0000
+Subject: power: Ensure the DPMS state is 'on' at startup
+
+This also has the side-effect of disabling the default DPMS timeouts the session may have set.
+
+Resolves https://bugzilla.gnome.org/show_bug.cgi?id=660482
+---
+diff --git a/plugins/power/gsd-power-manager.c b/plugins/power/gsd-power-manager.c
+index 9ffe07f..d0fe7c2 100644
+--- a/plugins/power/gsd-power-manager.c
++++ b/plugins/power/gsd-power-manager.c
+@@ -3265,6 +3265,8 @@ gboolean
+ gsd_power_manager_start (GsdPowerManager *manager,
+ GError **error)
+ {
++ gboolean ret;
++
+ g_debug ("Starting power manager");
+ gnome_settings_profile_start (NULL);
+
+@@ -3410,6 +3412,13 @@ gsd_power_manager_start (GsdPowerManager *manager,
+ if (manager->priv->x11_screen == NULL)
+ return FALSE;
+
++ /* ensure the default dpms timeouts are cleared */
++ ret = gnome_rr_screen_set_dpms_mode (manager->priv->x11_screen,
++ GNOME_RR_DPMS_ON,
++ error);
++ if (!ret)
++ return FALSE;
++
+ /* coldplug the engine */
+ engine_coldplug (manager);
+ idle_evaluate (manager);
+--
+cgit v0.9.0.2
+
diff --git a/gnome-settings-daemon-3.2.0-idle_brightness_revert.patch b/gnome-settings-daemon-3.2.0-idle_brightness_revert.patch
new file mode 100644
index 0000000..600d423
--- /dev/null
+++ b/gnome-settings-daemon-3.2.0-idle_brightness_revert.patch
@@ -0,0 +1,29 @@
+From 51ba98ff6346007d252b2450ed4c1a479c41fb19 Mon Sep 17 00:00:00 2001
+From: Richard Hughes <richard at hughsie.com>
+Date: Thu, 29 Sep 2011 13:32:17 +0000
+Subject: power: Do not revert to the pre-idle brightness if idle dimming is disabled
+
+We want to set manager->priv->pre_dim_brightness = -1 to indicate that we're
+restored the value and that no further restoration is required, as the user may
+have already altered the level.
+
+This will only happen if you disable dimming at runtime after having dimmed at
+least once.
+
+Resolves https://bugzilla.gnome.org/show_bug.cgi?id=660434
+---
+diff --git a/plugins/power/gsd-power-manager.c b/plugins/power/gsd-power-manager.c
+index f3c5ffe..5fbf42e 100644
+--- a/plugins/power/gsd-power-manager.c
++++ b/plugins/power/gsd-power-manager.c
+@@ -2733,6 +2733,7 @@ idle_set_mode (GsdPowerManager *manager, GsdPowerIdleMode mode)
+ g_error_free (error);
+ return;
+ }
++ manager->priv->pre_dim_brightness = -1;
+ }
+ }
+ }
+--
+cgit v0.9.0.2
+
diff --git a/gnome-settings-daemon-3.2.0-no_default_sleep.patch b/gnome-settings-daemon-3.2.0-no_default_sleep.patch
new file mode 100644
index 0000000..477ef66
--- /dev/null
+++ b/gnome-settings-daemon-3.2.0-no_default_sleep.patch
@@ -0,0 +1,41 @@
+From 378e3037ac09b8851ad83261930295f3eceb590c Mon Sep 17 00:00:00 2001
+From: Richard Hughes <richard at hughsie.com>
+Date: Thu, 29 Sep 2011 14:04:22 +0000
+Subject: power: Do not sleep-on-idle by default
+
+We do not actually read the boolean keys in gnome-settings-daemon due to
+a mixup when the UI was re-designed. We can just change the default of
+the timeout key (that we do read...) to zero to change "never" to be
+the default.
+
+Note: we're not actually going to remove the unused keys from the schema
+like we did in master, otherwise upgrading the g-s-d package whilst
+the control center is open is going to make it explode.
+
+Resolves https://bugzilla.gnome.org/show_bug.cgi?id=660395
+---
+diff --git a/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in.in b/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in.in
+index 665192f..d2d4b48 100644
+--- a/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in.in
++++ b/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in.in
+@@ -46,7 +46,7 @@
+ <description>Whether to put the computer to sleep when inactive on AC power.</description>
+ </key>
+ <key name="sleep-inactive-ac-timeout" type="i">
+- <default>1800</default>
++ <default>0</default>
+ <summary>Sleep timeout computer when on AC</summary>
+ <description>The amount of time in seconds the computer on AC power needs to be inactive before it goes to sleep.</description>
+ </key>
+@@ -61,7 +61,7 @@
+ <description>Whether to put the computer to sleep when inactive on battery power.</description>
+ </key>
+ <key name="sleep-inactive-battery-timeout" type="i">
+- <default>1800</default>
++ <default>0</default>
+ <summary>Sleep timeout computer when on battery</summary>
+ <description>The amount of time in seconds the computer on battery power needs to be inactive before it goes to sleep.</description>
+ </key>
+--
+cgit v0.9.0.2
+
diff --git a/gnome-settings-daemon.spec b/gnome-settings-daemon.spec
index a7aabc2..bf1eaf9 100644
--- a/gnome-settings-daemon.spec
+++ b/gnome-settings-daemon.spec
@@ -1,6 +1,6 @@
Name: gnome-settings-daemon
Version: 3.2.0
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: The daemon sharing settings from GNOME to GTK+/KDE applications
Group: System Environment/Daemons
@@ -9,6 +9,12 @@ URL: http://download.gnome.org/sources/%{name}
#VCS: git:git://git.gnome.org/gnome-settings-daemon
Source: http://download.gnome.org/sources/%{name}/3.1/%{name}-%{version}.tar.xz
+# These are all 3.2.1 backports to be dropped when building 3.2.1
+Patch0: gnome-settings-daemon-3.2.0-dont_restore_brightness.patch
+Patch1: gnome-settings-daemon-3.2.0-idle_brightness_revert.patch
+Patch2: gnome-settings-daemon-3.2.0-no_default_sleep.patch
+Patch3: gnome-settings-daemon-3.2.0-dpms_on.patch
+
Requires(pre): GConf2 >= 2.14
Requires(preun): GConf2 >= 2.14
Requires(post): GConf2 >= 2.14
@@ -58,6 +64,10 @@ developing applications that use %{name}.
%prep
%setup -q
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
# autoreconf -i -f
@@ -213,6 +223,10 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
%{_datadir}/gnome-settings-daemon-3.0/input-device-example.sh
%changelog
+* Wed Oct 12 2011 Adam Williamson <awilliam at redhat.com> - 3.2.0-2
+- backport some greatest hits from git to stop the same bugs being
+ reported over and over (all will be in 3.2.1)
+
* Tue Sep 27 2011 Ray <rstrode at redhat.com> - 3.2.0-1
- Update to 3.2.0
More information about the scm-commits
mailing list