Sophie

Sophie

distrib > Mandriva > 2009.1 > i586 > media > main-release-src > by-pkgid > ed850f9ceda4826f28781585a4806f28 > files > 20

x11-server-1.6.1-1mdv2009.1.src.rpm

From bf62d3959e9fa4c5a9a4713993b6b837d6bdc920 Mon Sep 17 00:00:00 2001
From: Ander Conselvan de Oliveira <ander@mandriva.com.br>
Date: Thu, 5 Mar 2009 12:57:28 -0500
Subject: [PATCH] Honour Option "DPMS" "off" on xorg.conf

---
 hw/xfree86/common/xf86DPMS.c |   27 +++++++++++++--------------
 1 files changed, 13 insertions(+), 14 deletions(-)

diff --git a/hw/xfree86/common/xf86DPMS.c b/hw/xfree86/common/xf86DPMS.c
index 5ee5e24..843199f 100644
--- a/hw/xfree86/common/xf86DPMS.c
+++ b/hw/xfree86/common/xf86DPMS.c
@@ -61,7 +61,7 @@ xf86DPMSInit(ScreenPtr pScreen, DPMSSetProcPtr set, int flags)
     ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
     DPMSPtr pDPMS;
     pointer DPMSOpt;
-    MessageType enabled_from = X_INFO;
+    MessageType enabled_from;
 
     DPMSKey = &DPMSKeyIndex;
 
@@ -75,23 +75,22 @@ xf86DPMSInit(ScreenPtr pScreen, DPMSSetProcPtr set, int flags)
     pScrn->DPMSSet = set;
     pDPMS->Flags = flags;
     DPMSOpt = xf86FindOption(pScrn->options, "dpms");
-    if (DPMSOpt) {
-	if ((pDPMS->Enabled
-	    = xf86SetBoolOption(pScrn->options, "dpms", FALSE))
-	    && !DPMSDisabledSwitch)
-	    DPMSEnabled = TRUE;
-            enabled_from = X_CONFIG;
+    if (DPMSEnabledSwitch || DPMSDisabledSwitch) {
+	enabled_from = X_CMDLINE;
+	DPMSEnabled = !DPMSDisabledSwitch && DPMSEnabledSwitch;
+    }
+    else if (DPMSOpt) {
+	enabled_from = X_CONFIG;
+	DPMSEnabled = xf86CheckBoolOption(pScrn->options, "dpms", FALSE);
 	xf86MarkOptionUsed(DPMSOpt);
-    } else if (DPMSEnabledSwitch) {
-	if (!DPMSDisabledSwitch)
-	    DPMSEnabled = TRUE;
-	pDPMS->Enabled = TRUE;
-    }  
+    }
     else {
-	pDPMS->Enabled = defaultDPMSEnabled;
+	enabled_from = X_DEFAULT;
+	DPMSEnabled = defaultDPMSEnabled;
     }
-    if (pDPMS->Enabled)
+    if (DPMSEnabled)
 	xf86DrvMsg(pScreen->myNum, enabled_from, "DPMS enabled\n");
+    pDPMS->Enabled = DPMSEnabled;
     pDPMS->CloseScreen = pScreen->CloseScreen;
     pScreen->CloseScreen = DPMSClose;
     DPMSCount++;
-- 
1.5.4.3