summaryrefslogtreecommitdiff
path: root/randr/randr.c
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2014-12-16 01:59:03 -0800
committerDave Airlie <airlied@redhat.com>2015-03-31 12:32:04 +1000
commit7e1f86d42b54fb7f6492875e47a718eaeca3069b (patch)
tree5af781974f9bf0fd6ebfab80ad5b384a30090045 /randr/randr.c
parent9c2b4f8e0e2b5d4b5e1102d6eea7bdb4211baa68 (diff)
randr: Add Monitor support (v1.1)
Store the user-defined monitors in the RandR screen private. Generate a list of monitors from both the user-defined ones and from any outputs not mentioned in one of the user-defined monitors. This list covers both the outputs in the main screen as well as any slaves. v1.1: airlied: fix up primary skipping bug, fix wrong height initialiser add get_active flag from updated protocol. Reviewed-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'randr/randr.c')
-rw-r--r--randr/randr.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/randr/randr.c b/randr/randr.c
index 6e3f14b4e..ad1dda227 100644
--- a/randr/randr.c
+++ b/randr/randr.c
@@ -98,6 +98,8 @@ RRCloseScreen(ScreenPtr pScreen)
if (pScrPriv->provider)
RRProviderDestroy(pScrPriv->provider);
+ RRMonitorClose(pScreen);
+
free(pScrPriv->crtcs);
free(pScrPriv->outputs);
free(pScrPriv);
@@ -333,6 +335,8 @@ RRScreenInit(ScreenPtr pScreen)
pScrPriv->numCrtcs = 0;
pScrPriv->crtcs = NULL;
+ RRMonitorInit(pScreen);
+
RRNScreens += 1; /* keep count of screens that implement randr */
return TRUE;
}