summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Jackson <ajax@nwnk.net>2005-06-09 02:29:42 +0000
committerAdam Jackson <ajax@nwnk.net>2005-06-09 02:29:42 +0000
commitcdc15e2294a9bffc570e33bc31170081abfc55fb (patch)
tree827c3a00e92594aad0f546469a6bc128f40e836f
parente3cdec7cdcd76f6294ba1f296e4bcdee43b1eb3c (diff)
Bug #1846: Add intentionally undocumented -disablexineramaextension flag to
the server to work around ignorant clients on large display walls. (Kevin E. Martin)
-rw-r--r--Xext/panoramiX.c9
-rw-r--r--os/utils.c4
2 files changed, 13 insertions, 0 deletions
diff --git a/Xext/panoramiX.c b/Xext/panoramiX.c
index 67cb7c943..5eb5c1f3c 100644
--- a/Xext/panoramiX.c
+++ b/Xext/panoramiX.c
@@ -1037,7 +1037,16 @@ ProcXineramaIsActive(ClientPtr client)
rep.type = X_Reply;
rep.length = 0;
rep.sequenceNumber = client->sequence;
+#if 1
+ {
+ /* The following hack fools clients into thinking that Xinerama
+ * is disabled even though it is not. */
+ extern Bool PanoramiXExtensionDisabledHack;
+ rep.state = !noPanoramiXExtension && !PanoramiXExtensionDisabledHack;
+ }
+#else
rep.state = !noPanoramiXExtension;
+#endif
if (client->swapped) {
register int n;
swaps (&rep.sequenceNumber, n);
diff --git a/os/utils.c b/os/utils.c
index e96d3cb4b..5242960f3 100644
--- a/os/utils.c
+++ b/os/utils.c
@@ -249,6 +249,7 @@ Bool PanoramiXVisibilityNotifySent = FALSE;
Bool PanoramiXMapped = FALSE;
Bool PanoramiXWindowExposureSent = FALSE;
Bool PanoramiXOneExposeRequest = FALSE;
+Bool PanoramiXExtensionDisabledHack = FALSE;
#endif
int auditTrailLevel = 1;
@@ -1031,6 +1032,9 @@ ProcessCommandLine(int argc, char *argv[])
else if ( strcmp( argv[i], "-xinerama") == 0){
noPanoramiXExtension = TRUE;
}
+ else if ( strcmp( argv[i], "-disablexineramaextension") == 0){
+ PanoramiXExtensionDisabledHack = TRUE;
+ }
#endif
else if ( strcmp( argv[i], "-x") == 0)
{