[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:
parent
61460cf095
commit
87f9817841
@ -147,12 +147,6 @@ ProcRRXineramaGetState(ClientPtr client)
|
|||||||
return client->noClientException;
|
return client->noClientException;
|
||||||
}
|
}
|
||||||
|
|
||||||
static Bool
|
|
||||||
RRXineramaScreenActive (ScreenPtr pScreen)
|
|
||||||
{
|
|
||||||
return rrGetScrPriv(pScreen) != NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
static Bool
|
static Bool
|
||||||
RRXineramaCrtcActive (RRCrtcPtr crtc)
|
RRXineramaCrtcActive (RRCrtcPtr crtc)
|
||||||
{
|
{
|
||||||
@ -165,7 +159,7 @@ RRXineramaScreenCount (ScreenPtr pScreen)
|
|||||||
int i, n;
|
int i, n;
|
||||||
|
|
||||||
n = 0;
|
n = 0;
|
||||||
if (RRXineramaScreenActive (pScreen))
|
if (rrGetScrPriv (pScreen))
|
||||||
{
|
{
|
||||||
rrScrPriv(pScreen);
|
rrScrPriv(pScreen);
|
||||||
for (i = 0; i < pScrPriv->numCrtcs; i++)
|
for (i = 0; i < pScrPriv->numCrtcs; i++)
|
||||||
@ -175,6 +169,12 @@ RRXineramaScreenCount (ScreenPtr pScreen)
|
|||||||
return n;
|
return n;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static Bool
|
||||||
|
RRXineramaScreenActive (ScreenPtr pScreen)
|
||||||
|
{
|
||||||
|
return RRXineramaScreenCount (pScreen) > 0;
|
||||||
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
ProcRRXineramaGetScreenCount(ClientPtr client)
|
ProcRRXineramaGetScreenCount(ClientPtr client)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user