diff --git a/randr/rrcrtc.c b/randr/rrcrtc.c index 7edae521f..8a5738fc5 100644 --- a/randr/rrcrtc.c +++ b/randr/rrcrtc.c @@ -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: diff --git a/randr/rrscreen.c b/randr/rrscreen.c index 36ef86ece..dd645a936 100644 --- a/randr/rrscreen.c +++ b/randr/rrscreen.c @@ -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