[gnome-power-manager/f14/master] Assorted backlight fixes
Matthias Clasen
mclasen at fedoraproject.org
Mon Aug 23 18:49:44 UTC 2010
commit 12c4d5160184b531f9c56084719107166247687c
Author: Matthias Clasen <mclasen at redhat.com>
Date: Mon Aug 23 14:48:44 2010 -0400
Assorted backlight fixes
...Don-t-crash-on-systems-which-don-t-have-X.patch | 27 ++++++++++++++
gnome-power-manager-2.31.6-backlight-is-None.patch | 13 +++++++
...ger-2.31.90-fix-step-for-legacy-backlight.patch | 38 ++++++++++++++++++++
gnome-power-manager.spec | 15 +++++++-
4 files changed, 92 insertions(+), 1 deletions(-)
---
diff --git a/0001-Fix-627711-Don-t-crash-on-systems-which-don-t-have-X.patch b/0001-Fix-627711-Don-t-crash-on-systems-which-don-t-have-X.patch
new file mode 100644
index 0000000..e08c0b5
--- /dev/null
+++ b/0001-Fix-627711-Don-t-crash-on-systems-which-don-t-have-X.patch
@@ -0,0 +1,27 @@
+From 6efb4351cbaacedab824564e12163dd733ae40fb Mon Sep 17 00:00:00 2001
+From: Chris Coulson <chris.coulson at canonical.com>
+Date: Mon, 23 Aug 2010 12:05:59 +0100
+Subject: [PATCH] Fix #627711 - Don't crash on systems which don't have XBACKLIGHT
+
+---
+ src/gpm-brightness.c | 4 ++++
+ 1 files changed, 4 insertions(+), 0 deletions(-)
+
+diff --git a/src/gpm-brightness.c b/src/gpm-brightness.c
+index 5453124..bff3411 100644
+--- a/src/gpm-brightness.c
++++ b/src/gpm-brightness.c
+@@ -518,6 +518,10 @@ gpm_brightness_foreach_screen (GpmBrightness *brightness, GpmXRandROp op)
+
+ g_return_val_if_fail (GPM_IS_BRIGHTNESS (brightness), FALSE);
+
++ /* Return immediately if we can't use XRandR */
++ if (!brightness->priv->has_extension)
++ return FALSE;
++
+ /* do for each screen */
+ length = brightness->priv->resources->len;
+ for (i=0; i<length; i++) {
+--
+1.7.1
+
diff --git a/gnome-power-manager-2.31.6-backlight-is-None.patch b/gnome-power-manager-2.31.6-backlight-is-None.patch
new file mode 100644
index 0000000..a4427bf
--- /dev/null
+++ b/gnome-power-manager-2.31.6-backlight-is-None.patch
@@ -0,0 +1,13 @@
+diff -up gnome-power-manager-2.31.6/src/gpm-brightness.c.backlight-is-None gnome-power-manager-2.31.6/src/gpm-brightness.c
+--- gnome-power-manager-2.31.6/src/gpm-brightness.c.backlight-is-None 2010-08-15 19:57:12.636000106 -0400
++++ gnome-power-manager-2.31.6/src/gpm-brightness.c 2010-08-15 19:57:20.948000051 -0400
+@@ -176,6 +176,9 @@ gpm_brightness_output_get_internal (GpmB
+
+ g_return_val_if_fail (GPM_IS_BRIGHTNESS (brightness), FALSE);
+
++ if (brightness->priv->backlight == None)
++ return FALSE;
++
+ if (XRRGetOutputProperty (brightness->priv->dpy, output, brightness->priv->backlight,
+ 0, 4, False, False, None,
+ &actual_type, &actual_format,
diff --git a/gnome-power-manager-2.31.90-fix-step-for-legacy-backlight.patch b/gnome-power-manager-2.31.90-fix-step-for-legacy-backlight.patch
new file mode 100644
index 0000000..cad183c
--- /dev/null
+++ b/gnome-power-manager-2.31.90-fix-step-for-legacy-backlight.patch
@@ -0,0 +1,38 @@
+diff -up gnome-power-manager-2.31.90/src/gpm-brightness.c.fix-step-for-legacy-backlight gnome-power-manager-2.31.90/src/gpm-brightness.c
+--- gnome-power-manager-2.31.90/src/gpm-brightness.c.fix-step-for-legacy-backlight 2010-08-23 12:30:47.150042001 -0400
++++ gnome-power-manager-2.31.90/src/gpm-brightness.c 2010-08-23 12:32:04.816041208 -0400
+@@ -695,8 +695,13 @@ gpm_brightness_up (GpmBrightness *bright
+ if (brightness->priv->extension_levels < 0)
+ brightness->priv->extension_levels = gpm_brightness_helper_get_value ("get-max-brightness");
+ brightness->priv->extension_current = gpm_brightness_helper_get_value ("get-brightness");
+- if (brightness->priv->extension_current < brightness->priv->extension_levels)
+- ret = gpm_brightness_helper_set_value ("set-brightness", ++brightness->priv->extension_current);
++ if (brightness->priv->extension_current < brightness->priv->extension_levels) {
++ guint step = gpm_brightness_get_step(brightness->priv->extension_levels);
++ brightness->priv->extension_current += step;
++ if (brightness->priv->extension_current > brightness->priv->extension_levels)
++ brightness->priv->extension_current = brightness->priv->extension_levels;
++ ret = gpm_brightness_helper_set_value ("set-brightness", brightness->priv->extension_current);
++ }
+ if (hw_changed != NULL)
+ *hw_changed = ret;
+ brightness->priv->cache_trusted = FALSE;
+@@ -735,9 +740,16 @@ gpm_brightness_down (GpmBrightness *brig
+
+ /* legacy fallback */
+ if (!ret) {
++ if (brightness->priv->extension_levels < 0)
++ brightness->priv->extension_levels = gpm_brightness_helper_get_value ("get-max-brightness");
+ brightness->priv->extension_current = gpm_brightness_helper_get_value ("get-brightness");
+- if (brightness->priv->extension_current > 0)
+- ret = gpm_brightness_helper_set_value ("set-brightness", --brightness->priv->extension_current);
++ if (brightness->priv->extension_current > 0) {
++ guint step = gpm_brightness_get_step(brightness->priv->extension_levels);
++ brightness->priv->extension_current -= step;
++ if (brightness->priv->extension_current < 0)
++ brightness->priv->extension_current = 0;
++ ret = gpm_brightness_helper_set_value ("set-brightness", brightness->priv->extension_current);
++ }
+ if (hw_changed != NULL)
+ *hw_changed = ret;
+ brightness->priv->cache_trusted = FALSE;
diff --git a/gnome-power-manager.spec b/gnome-power-manager.spec
index b2ed683..269d801 100644
--- a/gnome-power-manager.spec
+++ b/gnome-power-manager.spec
@@ -1,7 +1,7 @@
Summary: GNOME power management service
Name: gnome-power-manager
Version: 2.31.90
-Release: 1%{?dist}
+Release: 2%{?dist}
License: GPLv2+ and GFDL
Group: Applications/System
Source: http://download.gnome.org/sources/gnome-power-manager/2.31/gnome-power-manager-%{version}.tar.bz2
@@ -36,12 +36,22 @@ Requires(postun): scrollkeeper
Obsoletes: gnome-power-manager-extra <= 2.30.1
Provides: gnome-power-manager-extra
+# fixes from https://bugzilla.gnome.org/show_bug.cgi?id=627711
+Patch0: 0001-Fix-627711-Don-t-crash-on-systems-which-don-t-have-X.patch
+Patch1: gnome-power-manager-2.31.6-backlight-is-None.patch
+# https://bugzilla.redhat.com/show_bug.cgi?id=626512
+Patch2: gnome-power-manager-2.31.90-fix-step-for-legacy-backlight.patch
+
+
%description
GNOME Power Manager uses the information and facilities provided by UPower
displaying icons and handling user callbacks in an interactive GNOME session.
%prep
%setup -q
+%patch0 -p1 -b .no-xrandr
+%patch1 -p1 -b .backlight-none
+%patch2 -p1 -b .backlight-step
%build
%configure --disable-scrollkeeper \
@@ -141,6 +151,9 @@ update-desktop-database %{_datadir}/applications &> /dev/null || :
%{_sysconfdir}/xdg/autostart/*.desktop
%changelog
+* Mon Aug 23 2010 Matthias Clasen <mclasen at redhat.com> 2.31.90-2
+- Assorted backlight fixes
+
* Thu Aug 19 2010 Matthias Clasen <mclasen at redhat.com> 2.31.90-1
- Update to 2.31.90
More information about the scm-commits
mailing list