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