[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.
(cherry picked from commit 1afdf8b0a9)
This commit is contained in:
Adam Jackson 2007-08-31 22:11:13 -07:00 committed by Eric Anholt
parent 61460cf095
commit 87f9817841

View File

@ -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)
{