summaryrefslogtreecommitdiff
path: root/randr/rrxinerama.c
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 /randr/rrxinerama.c
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.
Diffstat (limited to 'randr/rrxinerama.c')
-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)
{