summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Jackson <ajax@redhat.com>2007-08-31 22:11:13 -0700
committerKeith Packard <keithp@koto.keithp.com>2007-08-31 22:11:13 -0700
commit1afdf8b0a92437dffe84fa98b6083b3d8fd55e27 (patch)
tree529bd4d1ae76c387c3313d97af511d44886694f8
parent0dc2bb6101704d0fd25f36e2c3df79687f119f5b (diff)
[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.
-rw-r--r--randr/rrxinerama.c14
1 files 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
@@ -148,12 +148,6 @@ ProcRRXineramaGetState(ClientPtr client)
}
static Bool
-RRXineramaScreenActive (ScreenPtr pScreen)
-{
- return rrGetScrPriv(pScreen) != NULL;
-}
-
-static Bool
RRXineramaCrtcActive (RRCrtcPtr crtc)
{
return crtc->mode != NULL && crtc->numOutputs > 0;
@@ -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)
{