summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2009-05-28 14:43:27 -0700
committerKeith Packard <keithp@keithp.com>2009-06-08 16:54:28 -0700
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 287c21194..32a09922b 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 46890bf74..a919ffdad 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