aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/randr
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2011-04-14 06:41:54 +0000
committermarha <marha@users.sourceforge.net>2011-04-14 06:41:54 +0000
commit019fc27ce6dc2a1809107be10d4deb80e0fa436b (patch)
tree57bc2571720a5d6e518ef15879d56ea066df494c /xorg-server/randr
parent7bcdd32ccff794b9a83a88ff9bc2d0b7b088bd06 (diff)
downloadvcxsrv-019fc27ce6dc2a1809107be10d4deb80e0fa436b.tar.gz
vcxsrv-019fc27ce6dc2a1809107be10d4deb80e0fa436b.tar.bz2
vcxsrv-019fc27ce6dc2a1809107be10d4deb80e0fa436b.zip
server xkeyboard-config mesa git update 14 Apr 2011
Diffstat (limited to 'xorg-server/randr')
-rw-r--r--xorg-server/randr/rrdispatch.c32
1 files changed, 30 insertions, 2 deletions
diff --git a/xorg-server/randr/rrdispatch.c b/xorg-server/randr/rrdispatch.c
index ac4d2acc1..213550475 100644
--- a/xorg-server/randr/rrdispatch.c
+++ b/xorg-server/randr/rrdispatch.c
@@ -146,7 +146,7 @@ ProcRRSelectInput (ClientPtr client)
/*
* Now see if the client needs an event
*/
- if (pScrPriv && (pRREvent->mask & RRScreenChangeNotifyMask))
+ if (pScrPriv)
{
pTimes = &((RRTimesPtr) (pRRClient + 1))[pScreen->myNum];
if (CompareTimeStamps (pTimes->setTime,
@@ -154,7 +154,35 @@ ProcRRSelectInput (ClientPtr client)
CompareTimeStamps (pTimes->configTime,
pScrPriv->lastConfigTime) != 0)
{
- RRDeliverScreenEvent (client, pWin, pScreen);
+ if (pRREvent->mask & RRScreenChangeNotifyMask)
+ {
+ RRDeliverScreenEvent (client, pWin, pScreen);
+ }
+
+ if (pRREvent->mask & RRCrtcChangeNotifyMask)
+ {
+ int i;
+
+ for (i = 0; i < pScrPriv->numCrtcs; i++)
+ {
+ RRDeliverCrtcEvent (client, pWin, pScrPriv->crtcs[i]);
+ }
+ }
+
+ if (pRREvent->mask & RROutputChangeNotifyMask)
+ {
+ int i;
+
+ for (i = 0; i < pScrPriv->numOutputs; i++)
+ {
+ RRDeliverOutputEvent (client, pWin, pScrPriv->outputs[i]);
+ }
+ }
+
+ /* We don't check for RROutputPropertyNotifyMask, as randrproto.txt doesn't
+ * say if there ought to be notifications of changes to output properties
+ * if those changes occurred before the time RRSelectInput is called.
+ */
}
}
}