[PATCH] render: reply with the server or client version, whichever is lower.

Peter Hutterer peter.hutterer at who-t.net
Wed Sep 16 22:04:15 PDT 2009


Protocol requires that the lower of [server version, client version] is
returned to the client.

The other part of the issue discussed in reply to [1] remains.
[1] http://lists.freedesktop.org/archives/xorg-devel/2009-September/001990.html

Reported-by: Julien Cristau

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
 render/render.c |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/render/render.c b/render/render.c
index 995ebd9..aadecf2 100644
--- a/render/render.c
+++ b/render/render.c
@@ -270,8 +270,18 @@ ProcRenderQueryVersion (ClientPtr client)
     rep.type = X_Reply;
     rep.length = 0;
     rep.sequenceNumber = client->sequence;
-    rep.majorVersion = RENDER_MAJOR;
-    rep.minorVersion = RENDER_MINOR;
+
+    if ((stuff->majorVersion * 1000 + stuff->minorVersion) <
+        (RENDER_MAJOR * 1000 + RENDER_MINOR))
+    {
+	rep.majorVersion = stuff->majorVersion;
+	rep.minorVersion = stuff->minorVersion;
+    } else
+    {
+	rep.majorVersion = RENDER_MAJOR;
+	rep.minorVersion = RENDER_MINOR;
+    }
+
     if (client->swapped) {
     	swaps(&rep.sequenceNumber, n);
     	swapl(&rep.length, n);
-- 
1.6.3.rc1.2.g0164.dirty


More information about the xorg-devel mailing list