[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    =?utf-8?q?=5Bkde-workspace/4=2E6=5D_powerdevil/daemon/actions/dp?=
From:       Dario Freddi <drf () kde ! org>
Date:       2011-01-30 14:23:13
Message-ID: 20110130142313.2C1B6A60C2 () git ! kde ! org
[Download RAW message or body]

Git commit 397684cbf750b63a3a84a65e0eb1a44a22a483f0 by Dario Freddi.
Pushed by dafre into branch '4.6'.

Move DPMS handling in the constructor.

This makes more sense as

1. With the previous approach, DPMS support was queried everytime a profile changed, \
now it is queried on startup only. 2. It allows to disable DPMS on startup even if a \
profile has not loaded the action yet.

(cherry picked from commit 8db343c4b8c511b6d85dbe0ffebc039280836280)

M  +17   -17   powerdevil/daemon/actions/dpms/powerdevildpmsaction.cpp     

http://commits.kde.org/a5d5b61a/397684cbf750b63a3a84a65e0eb1a44a22a483f0

diff --git a/powerdevil/daemon/actions/dpms/powerdevildpmsaction.cpp \
b/powerdevil/daemon/actions/dpms/powerdevildpmsaction.cpp index fe5b266..0a1f5b4 \
                100644
--- a/powerdevil/daemon/actions/dpms/powerdevildpmsaction.cpp
+++ b/powerdevil/daemon/actions/dpms/powerdevildpmsaction.cpp
@@ -67,9 +67,25 @@ K_EXPORT_PLUGIN(PowerDevilDPMSActionFactory("powerdevildpmsaction"))
  
 PowerDevilDPMSAction::PowerDevilDPMSAction(QObject* parent, const QVariantList& )
     : Action(parent)
+    , m_hasDPMS(true)
     , d(new Private)
 {
     setRequiredPolicies(PowerDevil::PolicyAgent::ChangeScreenSettings);
+
+    // We want to query for DPMS in the constructor, before anything else happens
+    d->defaultHandler = XSetErrorHandler(dropError);
+
+    Display *dpy = QX11Info::display();
+
+    int dummy;
+
+    if (!DPMSQueryExtension(dpy, &dummy, &dummy) || !DPMSCapable(dpy)) {
+        m_hasDPMS = false;
+        XSetErrorHandler(d->defaultHandler);
+    }
+
+    // Pretend we're unloading profiles here, as if the action is not enabled, DPMS \
should be switched off. +    onProfileUnload();
 }
 
 PowerDevilDPMSAction::~PowerDevilDPMSAction()
@@ -149,23 +165,7 @@ void PowerDevilDPMSAction::triggerImpl(const QVariantMap& args)
 
 bool PowerDevilDPMSAction::loadAction(const KConfigGroup& config)
 {
-    d->defaultHandler = XSetErrorHandler(dropError);
-
-    Display *dpy = QX11Info::display();
-
-    int dummy;
-    m_hasDPMS = true;
-
-    if (!DPMSQueryExtension(dpy, &dummy, &dummy) || !DPMSCapable(dpy)) {
-        m_hasDPMS = false;
-        XSetErrorHandler(d->defaultHandler);
-    }
-
-    if (config.hasKey("idleTime")) {
-        m_idleTime = config.readEntry<int>("idleTime", 100000000);
-    } else {
-        m_hasDPMS = false;
-    }
+    m_idleTime = config.readEntry<int>("idleTime", -1);
 
     return true;
 }


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic