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