summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFredrik Höglund <fredrik@kde.org>2007-01-03 21:05:35 +0100
committerFredrik Höglund <fredrik@kde.org>2007-01-03 21:05:35 +0100
commit3b5b7ef5c2ab1d196806f6359e0972fd78d204dd (patch)
tree22f93234b1584e81e1f9afaee4b0338a77b1a916
parent953a9ef949b4c57d28daeec57031fe1ce368c27c (diff)
Move the code for resetting the DPMS mode in response to input events,
from WaitForSomething to mieqProcessInputEvents. mieqProcessInputEvents already handles resetting the screen saver.
-rw-r--r--mi/mieq.c13
-rw-r--r--os/WaitFor.c5
2 files changed, 14 insertions, 4 deletions
diff --git a/mi/mieq.c b/mi/mieq.c
index 80915fd73..507cdd337 100644
--- a/mi/mieq.c
+++ b/mi/mieq.c
@@ -52,6 +52,12 @@ in this Software without prior written authorization from The Open Group.
# include "extinit.h"
# include "exglobals.h"
+#ifdef DPMSExtension
+# include "dpmsproc.h"
+# define DPMS_SERVER
+# include <X11/extensions/dpms.h>
+#endif
+
#define QUEUE_SIZE 256
typedef struct _Event {
@@ -183,6 +189,13 @@ mieqProcessInputEvents()
while (miEventQueue.head != miEventQueue.tail) {
if (screenIsSaved == SCREEN_SAVER_ON)
SaveScreens (SCREEN_SAVER_OFF, ScreenSaverReset);
+#ifdef DPMSExtension
+ else if (DPMSPowerLevel != DPMSModeOn)
+ SetScreenSaverTimer();
+
+ if (DPMSPowerLevel != DPMSModeOn)
+ DPMSSet(DPMSModeOn);
+#endif
e = &miEventQueue.events[miEventQueue.head];
/* Assumption - screen switching can only occur on motion events. */
diff --git a/os/WaitFor.c b/os/WaitFor.c
index ba227a3b6..d39964f30 100644
--- a/os/WaitFor.c
+++ b/os/WaitFor.c
@@ -337,10 +337,7 @@ WaitForSomething(int *pClientsReady)
if (XFD_ANYSET(&tmp_set))
QueueWorkProc(EstablishNewConnections, NULL,
(pointer)&LastSelectMask);
-#ifdef DPMSExtension
- if (XFD_ANYSET (&devicesReadable) && (DPMSPowerLevel != DPMSModeOn))
- DPMSSet(DPMSModeOn);
-#endif
+
if (XFD_ANYSET (&devicesReadable) || XFD_ANYSET (&clientsReadable))
break;
#ifdef WIN32