[gnome-power-manager] 2.31.90 + assorted backlight fixes

Matthias Clasen mclasen at fedoraproject.org
Mon Aug 23 17:50:51 UTC 2010


commit d3055b06243fc720c51ac86edc05d31d6667046b
Author: Matthias Clasen <mclasen at redhat.com>
Date:   Mon Aug 23 13:49:37 2010 -0400

    2.31.90 + assorted backlight fixes

 .gitignore                                         |    1 +
 ...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                           |   30 +++++++++-------
 sources                                            |    2 +-
 6 files changed, 97 insertions(+), 14 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 9ebf5ed..9e4ce0c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
 gnome-power-manager-2.31.4.tar.bz2
+/gnome-power-manager-2.31.90.tar.bz2
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 8c72ad4..fb8a8dd 100644
--- a/gnome-power-manager.spec
+++ b/gnome-power-manager.spec
@@ -1,6 +1,6 @@
 Summary: GNOME power management service
 Name: gnome-power-manager
-Version: 2.31.4
+Version: 2.31.90
 Release: 1%{?dist}
 License: GPLv2+ and GFDL
 Group: Applications/System
@@ -34,12 +34,24 @@ Requires(postun): scrollkeeper
 Obsoletes: gnome-power-manager-extra <= 2.30.1
 Provides: gnome-power-manager-extra
 
+# patches 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
+
+# this file is shipped in the upstream tarball by mistake (#604625)
+rm -f policy/org.gnome.power.policy
 
 %build
 %configure --disable-scrollkeeper \
@@ -47,18 +59,6 @@ displaying icons and handling user callbacks in an interactive GNOME session.
 	--disable-applets
 make AM_LDFLAGS="-Wl,-O1,--as-needed"
 
-# strip unneeded translations from .mo files
-# ideally intltool (ha!) would do that for us
-# http://bugzilla.gnome.org/show_bug.cgi?id=474987
-cd po
-grep -v ".*[.]desktop[.]in[.]in$\|.*[.]server[.]in[.]in$" POTFILES.in > POTFILES.keep
-mv POTFILES.keep POTFILES.in
-intltool-update --pot
-for p in *.po; do
-  msgmerge $p %{name}.pot > $p.out
-  msgfmt -o `basename $p .po`.gmo $p.out
-done
-
 %install
 make install DESTDIR=$RPM_BUILD_ROOT
 
@@ -127,6 +127,10 @@ glib-compile-schemas --allow-any-name %{_datadir}/glib-2.0/schemas
 %{_sysconfdir}/xdg/autostart/*.desktop
 
 %changelog
+* Mon Aug 23 2010 Matthias Clasen <mclasen at redhat.com> - 2.31.90-1
+- Update to 2.31.90
+- Include some fixes for backlight handling
+
 * Thu Jul 01 2010 Richard Hughes  <rhughes at redhat.com> - 2.31.4-1
 - New upstream release.
 
diff --git a/sources b/sources
index 40f5789..11502bd 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-f0e10a6d74bda867e738ea1ad3a412dc  gnome-power-manager-2.31.4.tar.bz2
+ea012fb110c0fb64f7a74de93a81325f  gnome-power-manager-2.31.90.tar.bz2


More information about the scm-commits mailing list