From 7e2304534568be68685f5a4a9801fc7ba369c5ae Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Aug 17 2009 03:29:47 +0000 Subject: * Mon Aug 17 2009 Peter Hutterer 1.6.99-35.20090814 - xserver-1.6.99-dpms.patch: don't reset last event time on DPMS changes. --- diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index e6a0c3c..e459548 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.99 -Release: 34.%{gitdate}%{?dist} +Release: 35.%{gitdate}%{?dist} URL: http://www.x.org License: MIT Group: User Interface/X @@ -82,6 +82,9 @@ Patch6029: xserver-1.6.1-proc-cmdline.patch Patch6030: xserver-1.6.99-right-of.patch Patch6031: xserver-1.6.99-dri2-crash-fixes.patch +# dpms/idlecounter race condition. upstream soon +Patch6032: xserver-1.6.99-dpms.patch + %define moduledir %{_libdir}/xorg/modules %define drimoduledir %{_libdir}/dri %define sdkdir %{_includedir}/xorg @@ -507,6 +510,9 @@ rm -rf $RPM_BUILD_ROOT %{xserver_source_dir} %changelog +* Mon Aug 17 2009 Peter Hutterer 1.6.99-35.20090814 +- xserver-1.6.99-dpms.patch: don't reset last event time on DPMS changes. + * Fri Aug 14 2009 Peter Hutterer 1.6.99-34.20090814 - Today's git snapshot. 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 +