diff options
author | Adam Jackson <ajax@nwnk.net> | 2005-06-09 02:29:42 +0000 |
---|---|---|
committer | Adam Jackson <ajax@nwnk.net> | 2005-06-09 02:29:42 +0000 |
commit | cdc15e2294a9bffc570e33bc31170081abfc55fb (patch) | |
tree | 827c3a00e92594aad0f546469a6bc128f40e836f | |
parent | e3cdec7cdcd76f6294ba1f296e4bcdee43b1eb3c (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.c | 9 | ||||
-rw-r--r-- | os/utils.c | 4 |
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) { |