aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nx-X11/programs/Xserver/mi/mieq.c14
-rw-r--r--nx-X11/programs/Xserver/os/WaitFor.c4
2 files changed, 14 insertions, 4 deletions
diff --git a/nx-X11/programs/Xserver/mi/mieq.c b/nx-X11/programs/Xserver/mi/mieq.c
index b5d9baa31..fefb222c4 100644
--- a/nx-X11/programs/Xserver/mi/mieq.c
+++ b/nx-X11/programs/Xserver/mi/mieq.c
@@ -43,6 +43,12 @@ in this Software without prior written authorization from The Open Group.
# include "mi.h"
# include "scrnintstr.h"
+#ifdef DPMSExtension
+# include "dpmsproc.h"
+# define DPMS_SERVER
+# include <nx-X11/extensions/dpms.h>
+#endif
+
#define QUEUE_SIZE 256
typedef struct _Event {
@@ -151,6 +157,14 @@ void mieqProcessInputEvents ()
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/nx-X11/programs/Xserver/os/WaitFor.c b/nx-X11/programs/Xserver/os/WaitFor.c
index 19a1b9809..d94ada1d5 100644
--- a/nx-X11/programs/Xserver/os/WaitFor.c
+++ b/nx-X11/programs/Xserver/os/WaitFor.c
@@ -509,10 +509,6 @@ WaitForSomething(int *pClientsReady)
if (XFD_ANYSET(&tmp_set))
HandleNotifyFds();
-#ifdef DPMSExtension
- if (XFD_ANYSET (&devicesReadable) && (DPMSPowerLevel != DPMSModeOn))
- DPMSSet(DPMSModeOn);
-#endif
if (XFD_ANYSET (&devicesReadable) || XFD_ANYSET (&clientsReadable))
break;
#ifdef WIN32