summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2009-05-28 21:43:27 (GMT)
committerKeith Packard <keithp@keithp.com>2009-06-08 23:54:28 (GMT)
commit69a9545d1f8110841538410818df19fd960412c5 (patch)
tree673e3efa34ac21d4ab587d082dd8db0307162d42
parentfa18c569ed26d2fdd442af6b39723cb7e30d18df (diff)
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>
-rw-r--r--randr/rrcrtc.c5
-rw-r--r--randr/rrscreen.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/randr/rrcrtc.c b/randr/rrcrtc.c
index 287c211..32a0992 100644
--- a/randr/rrcrtc.c
+++ b/randr/rrcrtc.c
@@ -978,6 +978,7 @@ ProcRRSetCrtcConfig (ClientPtr client)
goto sendReply;
}
rep.status = RRSetConfigSuccess;
+ pScrPriv->lastSetTime = time;
sendReply:
if (outputs)
@@ -987,7 +988,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)
{
@@ -1130,6 +1131,8 @@ ProcRRSetPanning (ClientPtr client)
if (! pScrPriv->rrSetPanning (pScreen, crtc, &total, &tracking, border))
return BadMatch;
+ pScrPriv->lastSetTime = time;
+
rep.status = RRSetConfigSuccess;
sendReply:
diff --git a/randr/rrscreen.c b/randr/rrscreen.c
index 46890bf..a919ffd 100644
--- a/randr/rrscreen.c
+++ b/randr/rrscreen.c
@@ -946,8 +946,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