From a32c6de4d8a083c74685f2efb595396cf803c4c8 Mon Sep 17 00:00:00 2001 From: David Reveman Date: Fri, 7 Apr 2006 06:27:08 +0000 Subject: [PATCH] DPMS fix --- ChangeLog | 5 +++++ hw/xgl/glx/xglx.c | 14 ++++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 11dcf3599..bee84a7f0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2006-04-07 David Reveman + + * hw/xgl/glx/xglx.c (xglxDPMSSet): Set DPMSPowerLevel and + clamp level. + 2006-04-05 David Reveman * hw/xgl/glxext/xglglxext.c (xglInitExtensions): Fix glWindowPos3f diff --git a/hw/xgl/glx/xglx.c b/hw/xgl/glx/xglx.c index 2f0f9909b..f2f42239f 100644 --- a/hw/xgl/glx/xglx.c +++ b/hw/xgl/glx/xglx.c @@ -1564,6 +1564,16 @@ xglxDPMSSupported (void) void xglxDPMSSet (int level) { - if (xDpms) - DPMSForceLevel (xdisplay, level); + if (!xDpms) + return; + + if (level < 0) + level = DPMSModeOn; + + if (level > 3) + level = DPMSModeOff; + + DPMSPowerLevel = level; + + DPMSForceLevel (xdisplay, level); }