Make RANDR 'set' timestamps follow client specified time. Bug 21987.

The lastSetTime value which indicates when the configuration within the
server was last changed was not getting set in the appropriate RandR
requests.

Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit 69a9545d1f)

Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
Keith Packard 2009-05-28 14:43:27 -07:00
parent d98f2792d2
commit 8d65439d5c
2 changed files with 7 additions and 2 deletions

View File

@ -967,6 +967,7 @@ ProcRRSetCrtcConfig (ClientPtr client)
goto sendReply;
}
rep.status = RRSetConfigSuccess;
pScrPriv->lastSetTime = time;
sendReply:
if (outputs)
@ -976,7 +977,7 @@ sendReply:
/* rep.status has already been filled in */
rep.length = 0;
rep.sequenceNumber = client->sequence;
rep.newTimestamp = pScrPriv->lastConfigTime.milliseconds;
rep.newTimestamp = pScrPriv->lastSetTime.milliseconds;
if (client->swapped)
{
@ -1126,6 +1127,8 @@ ProcRRSetPanning (ClientPtr client)
if (! pScrPriv->rrSetPanning (pScreen, crtc, &total, &tracking, border))
return BadMatch;
pScrPriv->lastSetTime = time;
rep.status = RRSetConfigSuccess;
sendReply:

View File

@ -945,8 +945,10 @@ ProcRRSetScreenConfig (ClientPtr client)
if (!RRCrtcSet (crtc, mode, 0, 0, stuff->rotation, 1, &output))
rep.status = RRSetConfigFailed;
else
else {
pScrPriv->lastSetTime = time;
rep.status = RRSetConfigSuccess;
}
/*
* XXX Configure other crtcs to mirror as much as possible