diff options
author | marha <marha@users.sourceforge.net> | 2011-04-14 06:41:54 +0000 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2011-04-14 06:41:54 +0000 |
commit | 019fc27ce6dc2a1809107be10d4deb80e0fa436b (patch) | |
tree | 57bc2571720a5d6e518ef15879d56ea066df494c /xorg-server/randr/rrdispatch.c | |
parent | 7bcdd32ccff794b9a83a88ff9bc2d0b7b088bd06 (diff) | |
download | vcxsrv-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/rrdispatch.c')
-rw-r--r-- | xorg-server/randr/rrdispatch.c | 32 |
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. + */ } } } |