diff --git a/pseudoramiX/pseudoramiX.c b/pseudoramiX/pseudoramiX.c index d0e2603b9..e59ca1312 100644 --- a/pseudoramiX/pseudoramiX.c +++ b/pseudoramiX/pseudoramiX.c @@ -49,6 +49,7 @@ #define DEBUG_LOG PseudoramiXDebug Bool noPseudoramiXExtension = FALSE; +extern Bool noRRXineramaExtension; extern int ProcPanoramiXQueryVersion(ClientPtr client); @@ -190,6 +191,9 @@ PseudoramiXExtensionInit(void) } } + /* Do not allow RRXinerama to initialize if we did */ + noRRXineramaExtension = success; + if (!success) { ErrorF("%s Extension (PseudoramiX) failed to initialize\n", PANORAMIX_PROTOCOL_NAME); diff --git a/randr/rrxinerama.c b/randr/rrxinerama.c index b336bd7cd..36632c7c7 100644 --- a/randr/rrxinerama.c +++ b/randr/rrxinerama.c @@ -84,6 +84,8 @@ static int ProcRRXineramaIsActive(ClientPtr client); static int ProcRRXineramaQueryScreens(ClientPtr client); static int SProcRRXineramaDispatch(ClientPtr client); +Bool noRRXineramaExtension = FALSE; + /* Proc */ int @@ -488,6 +490,9 @@ RRXineramaExtensionInit(void) return; #endif + if (noRRXineramaExtension) + return; + /* * Xinerama isn't capable enough to have multiple protocol screens each * with their own output geometry. So if there's more than one protocol