diff options
author | Adam Jackson <ajax@redhat.com> | 2007-08-31 22:11:13 -0700 |
---|---|---|
committer | Keith Packard <keithp@koto.keithp.com> | 2007-08-31 22:11:13 -0700 |
commit | 1afdf8b0a92437dffe84fa98b6083b3d8fd55e27 (patch) | |
tree | 529bd4d1ae76c387c3313d97af511d44886694f8 | |
parent | 0dc2bb6101704d0fd25f36e2c3df79687f119f5b (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.c | 14 |
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) { |