mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2026-02-15 17:20:32 +01:00
Send events that were missing from RRSelectInput
The RANDR spec (randrproto.txt) specifies that RRSelectInput will send out
events corresponding to the event mask, if there have been changes to
CRTCs or outputs. Only screen events were being generated, however.
Fixes http://bugs.freedesktop.org/21760
Signed-off-by: Federico Mena Quintero <federico@novell.com>
Reviewd-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit b2997431fd)
This commit is contained in:
parent
d784fd09dc
commit
613e0e9ef7
1 changed files with 30 additions and 2 deletions
|
|
@ -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.
|
||||
*/
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue