Bug #1846: Add intentionally undocumented -disablexineramaextension flag to

the server to work around ignorant clients on large display walls.
    (Kevin E. Martin)
This commit is contained in:
Adam Jackson 2005-06-09 02:29:42 +00:00
parent e3cdec7cdc
commit cdc15e2294
2 changed files with 13 additions and 0 deletions

View File

@ -1037,7 +1037,16 @@ ProcXineramaIsActive(ClientPtr client)
rep.type = X_Reply; rep.type = X_Reply;
rep.length = 0; rep.length = 0;
rep.sequenceNumber = client->sequence; 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; rep.state = !noPanoramiXExtension;
#endif
if (client->swapped) { if (client->swapped) {
register int n; register int n;
swaps (&rep.sequenceNumber, n); swaps (&rep.sequenceNumber, n);

View File

@ -249,6 +249,7 @@ Bool PanoramiXVisibilityNotifySent = FALSE;
Bool PanoramiXMapped = FALSE; Bool PanoramiXMapped = FALSE;
Bool PanoramiXWindowExposureSent = FALSE; Bool PanoramiXWindowExposureSent = FALSE;
Bool PanoramiXOneExposeRequest = FALSE; Bool PanoramiXOneExposeRequest = FALSE;
Bool PanoramiXExtensionDisabledHack = FALSE;
#endif #endif
int auditTrailLevel = 1; int auditTrailLevel = 1;
@ -1031,6 +1032,9 @@ ProcessCommandLine(int argc, char *argv[])
else if ( strcmp( argv[i], "-xinerama") == 0){ else if ( strcmp( argv[i], "-xinerama") == 0){
noPanoramiXExtension = TRUE; noPanoramiXExtension = TRUE;
} }
else if ( strcmp( argv[i], "-disablexineramaextension") == 0){
PanoramiXExtensionDisabledHack = TRUE;
}
#endif #endif
else if ( strcmp( argv[i], "-x") == 0) else if ( strcmp( argv[i], "-x") == 0)
{ {