summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Xext/dpms.c28
-rw-r--r--Xext/dpmsproc.h11
-rw-r--r--Xext/saver.c1
-rw-r--r--dix/globals.c10
-rw-r--r--dix/main.c13
-rw-r--r--hw/xfree86/common/xf86Config.c4
-rw-r--r--include/globals.h10
-rw-r--r--os/utils.c1
8 files changed, 34 insertions, 44 deletions
diff --git a/Xext/dpms.c b/Xext/dpms.c
index abc67ef1f..efa715428 100644
--- a/Xext/dpms.c
+++ b/Xext/dpms.c
@@ -43,6 +43,13 @@ Equipment Corporation.
#include "scrnintstr.h"
#include "windowstr.h"
+CARD16 DPMSPowerLevel = 0;
+Bool DPMSDisabledSwitch = FALSE;
+CARD32 DPMSStandbyTime;
+CARD32 DPMSSuspendTime;
+CARD32 DPMSOffTime;
+Bool DPMSEnabled;
+
Bool
DPMSSupported(void)
{
@@ -136,7 +143,7 @@ ProcDPMSCapable(ClientPtr client)
.type = X_Reply,
.sequenceNumber = client->sequence,
.length = 0,
- .capable = DPMSCapableFlag
+ .capable = TRUE
};
REQUEST_SIZE_MATCH(xDPMSCapableReq);
@@ -204,11 +211,9 @@ ProcDPMSEnable(ClientPtr client)
REQUEST_SIZE_MATCH(xDPMSEnableReq);
- if (DPMSCapableFlag) {
- DPMSEnabled = TRUE;
- if (!was_enabled)
- SetScreenSaverTimer();
- }
+ DPMSEnabled = TRUE;
+ if (!was_enabled)
+ SetScreenSaverTimer();
return Success;
}
@@ -427,7 +432,12 @@ DPMSCloseDownExtension(ExtensionEntry *e)
void
DPMSExtensionInit(void)
{
- AddExtension(DPMSExtensionName, 0, 0,
- ProcDPMSDispatch, SProcDPMSDispatch,
- DPMSCloseDownExtension, StandardMinorOpcode);
+ DPMSStandbyTime = DPMSSuspendTime = DPMSOffTime = ScreenSaverTime;
+ DPMSPowerLevel = DPMSModeOn;
+ DPMSEnabled = DPMSSupported();
+
+ if (DPMSEnabled)
+ AddExtension(DPMSExtensionName, 0, 0,
+ ProcDPMSDispatch, SProcDPMSDispatch,
+ DPMSCloseDownExtension, StandardMinorOpcode);
}
diff --git a/Xext/dpmsproc.h b/Xext/dpmsproc.h
index 82dccbd67..1e24f1f55 100644
--- a/Xext/dpmsproc.h
+++ b/Xext/dpmsproc.h
@@ -9,7 +9,14 @@
#include "dixstruct.h"
-int _X_EXPORT DPMSSet(ClientPtr client, int level);
-Bool _X_EXPORT DPMSSupported(void);
+extern int DPMSSet(ClientPtr client, int level);
+extern Bool DPMSSupported(void);
+
+extern CARD32 DPMSStandbyTime;
+extern CARD32 DPMSSuspendTime;
+extern CARD32 DPMSOffTime;
+extern CARD16 DPMSPowerLevel;
+extern Bool DPMSEnabled;
+extern Bool DPMSDisabledSwitch;
#endif
diff --git a/Xext/saver.c b/Xext/saver.c
index bf3a23d9a..09497610a 100644
--- a/Xext/saver.c
+++ b/Xext/saver.c
@@ -53,6 +53,7 @@ in this Software without prior written authorization from the X Consortium.
#endif
#ifdef DPMSExtension
#include <X11/extensions/dpmsconst.h>
+#include "dpmsproc.h"
#endif
#include "protocol-versions.h"
diff --git a/dix/globals.c b/dix/globals.c
index f36a938f7..acd5c4412 100644
--- a/dix/globals.c
+++ b/dix/globals.c
@@ -93,16 +93,6 @@ CARD32 ScreenSaverInterval;
int ScreenSaverBlanking;
int ScreenSaverAllowExposures;
-#ifdef DPMSExtension
-CARD16 DPMSPowerLevel = 0;
-Bool DPMSDisabledSwitch = FALSE;
-Bool DPMSCapableFlag = FALSE;
-CARD32 DPMSStandbyTime;
-CARD32 DPMSSuspendTime;
-CARD32 DPMSOffTime;
-Bool DPMSEnabled;
-#endif
-
CARD32 defaultScreenSaverTime = DEFAULT_SCREEN_SAVER_TIME;
CARD32 defaultScreenSaverInterval = DEFAULT_SCREEN_SAVER_INTERVAL;
int defaultScreenSaverBlanking = DEFAULT_SCREEN_SAVER_BLANKING;
diff --git a/dix/main.c b/dix/main.c
index 4947062a5..f98643aa5 100644
--- a/dix/main.c
+++ b/dix/main.c
@@ -148,11 +148,7 @@ dix_main(int argc, char *argv[], char *envp[])
ScreenSaverInterval = defaultScreenSaverInterval;
ScreenSaverBlanking = defaultScreenSaverBlanking;
ScreenSaverAllowExposures = defaultScreenSaverAllowExposures;
-#ifdef DPMSExtension
- DPMSStandbyTime = DPMSSuspendTime = DPMSOffTime = ScreenSaverTime;
- DPMSEnabled = TRUE;
- DPMSPowerLevel = 0;
-#endif
+
InitBlockAndWakeupHandlers();
/* Perform any operating system dependent initializations you'd like */
OsInit();
@@ -239,13 +235,6 @@ dix_main(int argc, char *argv[], char *envp[])
defaultCursorFont);
}
-#ifdef DPMSExtension
- /* check all screens, looking for DPMS Capabilities */
- DPMSCapableFlag = DPMSSupported();
- if (!DPMSCapableFlag)
- DPMSEnabled = FALSE;
-#endif
-
#ifdef PANORAMIX
/*
* Consolidate window and colourmap information for each screen
diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c
index 49b898da1..c2b522a18 100644
--- a/hw/xfree86/common/xf86Config.c
+++ b/hw/xfree86/common/xf86Config.c
@@ -64,8 +64,10 @@
#include "loaderProcs.h"
#include "xkbsrv.h"
-
#include "picture.h"
+#ifdef DPMSExtension
+#include "dpmsproc.h"
+#endif
/*
* These paths define the way the config file search is done. The escape
diff --git a/include/globals.h b/include/globals.h
index 693bdf4f2..44314f03f 100644
--- a/include/globals.h
+++ b/include/globals.h
@@ -26,16 +26,6 @@ extern _X_EXPORT char *SeatId;
extern _X_EXPORT char *ConnectionInfo;
extern _X_EXPORT sig_atomic_t inSignalContext;
-#ifdef DPMSExtension
-extern _X_EXPORT CARD32 DPMSStandbyTime;
-extern _X_EXPORT CARD32 DPMSSuspendTime;
-extern _X_EXPORT CARD32 DPMSOffTime;
-extern _X_EXPORT CARD16 DPMSPowerLevel;
-extern _X_EXPORT Bool DPMSEnabled;
-extern _X_EXPORT Bool DPMSDisabledSwitch;
-extern _X_EXPORT Bool DPMSCapableFlag;
-#endif
-
#ifdef PANORAMIX
extern _X_EXPORT Bool PanoramiXExtensionDisabledHack;
#endif
diff --git a/os/utils.c b/os/utils.c
index ac55cd79f..3f8bac5c6 100644
--- a/os/utils.c
+++ b/os/utils.c
@@ -135,6 +135,7 @@ Bool noDamageExtension = FALSE;
Bool noDbeExtension = FALSE;
#endif
#ifdef DPMSExtension
+#include "dpmsproc.h"
Bool noDPMSExtension = FALSE;
#endif
#ifdef GLXEXT