From 1afdf8b0a92437dffe84fa98b6083b3d8fd55e27 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Fri, 31 Aug 2007 22:11:13 -0700 Subject: [RANDR] Don't mark Xinerama as active if no crtcs are enabled. (bug #11504). Clients expect any Xinerama-enabled screen to report at least one monitor, but with RandR, there may not be any enabled crtcs. In this case, tell the client that Xinerama is not active. --- randr/rrxinerama.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/randr/rrxinerama.c b/randr/rrxinerama.c index 2a57e4e32..896f61fb5 100644 --- a/randr/rrxinerama.c +++ b/randr/rrxinerama.c @@ -147,12 +147,6 @@ ProcRRXineramaGetState(ClientPtr client) return client->noClientException; } -static Bool -RRXineramaScreenActive (ScreenPtr pScreen) -{ - return rrGetScrPriv(pScreen) != NULL; -} - static Bool RRXineramaCrtcActive (RRCrtcPtr crtc) { @@ -165,7 +159,7 @@ RRXineramaScreenCount (ScreenPtr pScreen) int i, n; n = 0; - if (RRXineramaScreenActive (pScreen)) + if (rrGetScrPriv (pScreen)) { rrScrPriv(pScreen); for (i = 0; i < pScrPriv->numCrtcs; i++) @@ -175,6 +169,12 @@ RRXineramaScreenCount (ScreenPtr pScreen) return n; } +static Bool +RRXineramaScreenActive (ScreenPtr pScreen) +{ + return RRXineramaScreenCount (pScreen) > 0; +} + int ProcRRXineramaGetScreenCount(ClientPtr client) { -- cgit v1.2.3