summaryrefslogtreecommitdiff
authorKeith Packard <keithp@keithp.com>2009-05-28 21:43:27 (GMT)
committer Keith Packard <keithp@keithp.com>2009-06-08 23:54:28 (GMT)
commit69a9545d1f8110841538410818df19fd960412c5 (patch) (side-by-side diff)
tree673e3efa34ac21d4ab587d082dd8db0307162d42
parentfa18c569ed26d2fdd442af6b39723cb7e30d18df (diff)
downloadxserver-69a9545d1f8110841538410818df19fd960412c5.zip
xserver-69a9545d1f8110841538410818df19fd960412c5.tar.gz
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>
Diffstat (more/less context) (ignore whitespace changes)
-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