From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1RBMPN-0000eJ-63 for garchives@archives.gentoo.org; Wed, 05 Oct 2011 08:00:55 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 0030B21C0C5; Wed, 5 Oct 2011 08:00:44 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id B172221C0C5 for ; Wed, 5 Oct 2011 08:00:44 +0000 (UTC) Received: from pelican.gentoo.org (unknown [66.219.59.40]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 00C871B4026 for ; Wed, 5 Oct 2011 08:00:44 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id 5BB5680042 for ; Wed, 5 Oct 2011 08:00:43 +0000 (UTC) From: "Alexandre Restovtsev" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Alexandre Restovtsev" Message-ID: Subject: [gentoo-commits] proj/gnome:master commit in: gnome-base/gnome-desktop/, gnome-base/gnome-desktop/files/ X-VCS-Repository: proj/gnome X-VCS-Files: gnome-base/gnome-desktop/files/gnome-desktop-3.2.0-dpmssettimeouts-return-value.patch gnome-base/gnome-desktop/gnome-desktop-3.2.0-r1.ebuild gnome-base/gnome-desktop/gnome-desktop-3.2.0-r2.ebuild X-VCS-Directories: gnome-base/gnome-desktop/ gnome-base/gnome-desktop/files/ X-VCS-Committer: tetromino X-VCS-Committer-Name: Alexandre Restovtsev X-VCS-Revision: e62c70681e4ce3215f79860befcc518e5df17046 Date: Wed, 5 Oct 2011 08:00:43 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: X-Archives-Hash: 6ae6d45943591550d06b96e52371ccf9 commit: e62c70681e4ce3215f79860befcc518e5df17046 Author: Alexandre Rostovtsev gmail com> AuthorDate: Wed Oct 5 07:58:32 2011 +0000 Commit: Alexandre Restovtsev gmail com> CommitDate: Wed Oct 5 07:58:32 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/gnome.git;a=3D= commit;h=3De62c7068 gnome-base/gnome-desktop: fix DPMS timeout and mode setting This is required for clearing DPMS timeouts and setting DPMS modes to work on some hardware. Fixes e.g. the problems with gnome-settings-daemon refusing to turn off the screen. Upstream bug filed at https://bugzilla.gnome.org/show_bug.cgi?id=3D660962 --- ...esktop-3.2.0-dpmssettimeouts-return-value.patch | 91 ++++++++++++++= ++++++ ...2.0-r1.ebuild =3D> gnome-desktop-3.2.0-r2.ebuild} | 4 + 2 files changed, 95 insertions(+), 0 deletions(-) diff --git a/gnome-base/gnome-desktop/files/gnome-desktop-3.2.0-dpmssetti= meouts-return-value.patch b/gnome-base/gnome-desktop/files/gnome-desktop-= 3.2.0-dpmssettimeouts-return-value.patch new file mode 100644 index 0000000..cd8b401 --- /dev/null +++ b/gnome-base/gnome-desktop/files/gnome-desktop-3.2.0-dpmssettimeouts-= return-value.patch @@ -0,0 +1,91 @@ +From c33e020e4b6119b08c3748209360b7c826e0dfca Mon Sep 17 00:00:00 2001 +From: Alexandre Rostovtsev +Date: Wed, 5 Oct 2011 02:27:48 -0400 +Subject: [PATCH] Ignore DPMSSetTimeouts() and DPMSForceLevel() return va= lue + +At least with nvidia binary drivers, DPMSSetTimeouts() and DPMSForceLeve= l() +always return BadRequest, even if they succeed. On a machine with intel +graphics, DPMSForceLevel() was also observed to return BadRequest despit= e +successfully changing the DPMS level. So we should just ignore the retur= n +value from these functions, like xset does. + +https://bugzilla.gnome.org/show_bug.cgi?id=3D660962 +--- + libgnome-desktop/gnome-rr.c | 34 +++++++++++----------------------- + 1 files changed, 11 insertions(+), 23 deletions(-) + +diff --git a/libgnome-desktop/gnome-rr.c b/libgnome-desktop/gnome-rr.c +index 465dee9..55ca03b 100644 +--- a/libgnome-desktop/gnome-rr.c ++++ b/libgnome-desktop/gnome-rr.c +@@ -1240,24 +1240,17 @@ static gboolean + gnome_rr_screen_clear_dpms_timeouts (GnomeRRScreen *screen, + GError **error) + { +- gboolean ret =3D TRUE; +- gint rc; +- + gdk_error_trap_push (); +- rc =3D DPMSSetTimeouts (screen->priv->xdisplay, 0, 0, 0); +- if (gdk_error_trap_pop ()) +- ret =3D FALSE; +- +- if (!ret || rc !=3D Success) { +- ret =3D FALSE; ++ /* DPMSSetTimeouts() return value is often a lie, so ignore it */ ++ DPMSSetTimeouts (screen->priv->xdisplay, 0, 0, 0); ++ if (gdk_error_trap_pop ()) { + g_set_error_literal (error, + GNOME_RR_ERROR, + GNOME_RR_ERROR_UNKNOWN, + "Could not set DPMS timeouts"); +- goto out; ++ return FALSE; + } +-out: +- return ret; ++ return TRUE; + } +=20 + /** +@@ -1272,7 +1265,6 @@ gnome_rr_screen_set_dpms_mode (GnomeRRScreen *scre= en, + { + CARD16 state =3D 0; + gboolean ret; +- gint rc; + GnomeRRDpmsMode current_mode; +=20 + g_return_val_if_fail (error =3D=3D NULL || *error =3D=3D NULL, FALS= E); +@@ -1305,11 +1297,9 @@ gnome_rr_screen_set_dpms_mode (GnomeRRScreen *scr= een, + } +=20 + gdk_error_trap_push (); +- rc =3D DPMSForceLevel (screen->priv->xdisplay, state); +- if (gdk_error_trap_pop ()) +- ret =3D FALSE; +- +- if (!ret || rc !=3D Success) { ++ /* DPMSForceLevel() return value is often a lie, so ignore it */ ++ DPMSForceLevel (screen->priv->xdisplay, state); ++ if (gdk_error_trap_pop ()) { + ret =3D FALSE; + g_set_error_literal (error, + GNOME_RR_ERROR, +@@ -1319,11 +1309,9 @@ gnome_rr_screen_set_dpms_mode (GnomeRRScreen *scr= een, + } +=20 + gdk_error_trap_push (); +- rc =3D DPMSSetTimeouts (screen->priv->xdisplay, 0, 0, 0); +- if (gdk_error_trap_pop ()) +- ret =3D FALSE; +- +- if (!ret || rc !=3D Success) { ++ /* DPMSSetTimeouts() return value is often a lie, so ignore it */ ++ DPMSSetTimeouts (screen->priv->xdisplay, 0, 0, 0); ++ if (gdk_error_trap_pop ()) { + ret =3D FALSE; + g_set_error_literal (error, + GNOME_RR_ERROR, +--=20 +1.7.7 + diff --git a/gnome-base/gnome-desktop/gnome-desktop-3.2.0-r1.ebuild b/gno= me-base/gnome-desktop/gnome-desktop-3.2.0-r2.ebuild similarity index 93% rename from gnome-base/gnome-desktop/gnome-desktop-3.2.0-r1.ebuild rename to gnome-base/gnome-desktop/gnome-desktop-3.2.0-r2.ebuild index ffbc212..3b01e21 100644 --- a/gnome-base/gnome-desktop/gnome-desktop-3.2.0-r1.ebuild +++ b/gnome-base/gnome-desktop/gnome-desktop-3.2.0-r2.ebuild @@ -93,5 +93,9 @@ src_prepare() { # Fix GNomeWallClock fallback code epatch "${FILESDIR}/${P}-GnomeWallClock-fallback.patch" =20 + # Required for setting DPMS timeouts and modes to work on some hardware= ; + # https://bugzilla.gnome.org/show_bug.cgi?id=3D660962 + epatch "${FILESDIR}/${P}-dpmssettimeouts-return-value.patch" + gnome2_src_prepare }