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)
978 goto sendReply; 978 goto sendReply;
979 } 979 }
980 rep.status = RRSetConfigSuccess; 980 rep.status = RRSetConfigSuccess;
981 pScrPriv->lastSetTime = time;
981 982
982sendReply: 983sendReply:
983 if (outputs) 984 if (outputs)
@@ -987,7 +988,7 @@ sendReply:
987 /* rep.status has already been filled in */ 988 /* rep.status has already been filled in */
988 rep.length = 0; 989 rep.length = 0;
989 rep.sequenceNumber = client->sequence; 990 rep.sequenceNumber = client->sequence;
990 rep.newTimestamp = pScrPriv->lastConfigTime.milliseconds; 991 rep.newTimestamp = pScrPriv->lastSetTime.milliseconds;
991 992
992 if (client->swapped) 993 if (client->swapped)
993 { 994 {
@@ -1130,6 +1131,8 @@ ProcRRSetPanning (ClientPtr client)
1130 if (! pScrPriv->rrSetPanning (pScreen, crtc, &total, &tracking, border)) 1131 if (! pScrPriv->rrSetPanning (pScreen, crtc, &total, &tracking, border))
1131 return BadMatch; 1132 return BadMatch;
1132 1133
1134 pScrPriv->lastSetTime = time;
1135
1133 rep.status = RRSetConfigSuccess; 1136 rep.status = RRSetConfigSuccess;
1134 1137
1135sendReply: 1138sendReply:
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)
946 946
947 if (!RRCrtcSet (crtc, mode, 0, 0, stuff->rotation, 1, &output)) 947 if (!RRCrtcSet (crtc, mode, 0, 0, stuff->rotation, 1, &output))
948 rep.status = RRSetConfigFailed; 948 rep.status = RRSetConfigFailed;
949 else 949 else {
950 pScrPriv->lastSetTime = time;
950 rep.status = RRSetConfigSuccess; 951 rep.status = RRSetConfigSuccess;
952 }
951 953
952 /* 954 /*
953 * XXX Configure other crtcs to mirror as much as possible 955 * XXX Configure other crtcs to mirror as much as possible