diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index 1779223..88cc52c 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -19,7 +19,7 @@ Summary: X.Org X11 X server Name: xorg-x11-server Version: 1.6.3 -Release: 2%{?dist} +Release: 3%{?dist} URL: http://www.x.org License: MIT Group: User Interface/X @@ -113,6 +113,8 @@ Patch6047: xserver-1.6.2-vboxvideo.patch # 501601, upstream, nominated for 1.6.4 Patch6048: xserver-1.6.3-sync-conditions.patch +# 501601, part 2. +Patch6049: xserver-1.6.99-dpms.patch %define moduledir %{_libdir}/xorg/modules %define drimoduledir %{_libdir}/dri @@ -530,6 +532,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Mon Aug 17 2009 Peter Hutterer 1.6.3-3 +- xserver-1.6.99-dpms.patch: don't reset last event time on DPMS changes. + * Thu Aug 13 2009 Peter Hutterer 1.6.3-2 - xserver-1.6.3-sync-conditions.patch: Fix conditions when checking negative transition triggers in the sync extension (#501601) diff --git a/xserver-1.6.99-dpms.patch b/xserver-1.6.99-dpms.patch new file mode 100644 index 0000000..aaa769a --- /dev/null +++ b/xserver-1.6.99-dpms.patch @@ -0,0 +1,47 @@ +From c1d901d723c3bee523736eacc15b44a7dff484fe Mon Sep 17 00:00:00 2001 +From: Richard Hughes +Date: Fri, 14 Aug 2009 11:44:35 +0100 +Subject: [PATCH] Don't reset the lastDeviceEventTime when doing DPMS actions + +When we change the DPMS mode, don't play games with the last event time as +this breaks applications using IDLETIME to turn the backlight off after a +preset time. + +This patch fixes gnome-power-manager and xfce-power-manager + +Signed-off-by: Peter Hutterer +--- + Xext/dpms.c | 17 ++++------------- + 1 files changed, 4 insertions(+), 13 deletions(-) + +diff --git a/Xext/dpms.c b/Xext/dpms.c +index 21ba923..df63a8b 100644 +--- a/Xext/dpms.c ++++ b/Xext/dpms.c +@@ -177,19 +177,10 @@ ProcDPMSForceLevel(ClientPtr client) + if (!DPMSEnabled) + return BadMatch; + +- if (stuff->level == DPMSModeOn) { +- lastDeviceEventTime.milliseconds = +- GetTimeInMillis(); +- } else if (stuff->level == DPMSModeStandby) { +- lastDeviceEventTime.milliseconds = +- GetTimeInMillis() - DPMSStandbyTime; +- } else if (stuff->level == DPMSModeSuspend) { +- lastDeviceEventTime.milliseconds = +- GetTimeInMillis() - DPMSSuspendTime; +- } else if (stuff->level == DPMSModeOff) { +- lastDeviceEventTime.milliseconds = +- GetTimeInMillis() - DPMSOffTime; +- } else { ++ if (stuff->level != DPMSModeOn && ++ stuff->level != DPMSModeStandby && ++ stuff->level != DPMSModeSuspend && ++ stuff->level != DPMSModeOff) { + client->errorValue = stuff->level; + return BadValue; + } +-- +1.6.3.rc1.2.g0164.dirty +