xserver: Branch 'master' - 2 commits

Peter Hutterer whot at kemper.freedesktop.org
Sun Sep 20 16:18:12 PDT 2009


 randr/rrdispatch.c |   18 ++++++++++++------
 render/render.c    |   14 ++++++++++++--
 2 files changed, 24 insertions(+), 8 deletions(-)

New commits:
commit 00dfe69aab786ea650b41dfefc031f0e0fc72b0c
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date:   Thu Sep 17 14:48:51 2009 +1000

    randr: reply with the server or client version, whichever is lower.
    
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>

diff --git a/randr/rrdispatch.c b/randr/rrdispatch.c
index bec5b08..591d779 100644
--- a/randr/rrdispatch.c
+++ b/randr/rrdispatch.c
@@ -48,12 +48,18 @@ ProcRRQueryVersion (ClientPtr client)
     rep.type = X_Reply;
     rep.length = 0;
     rep.sequenceNumber = client->sequence;
-    /*
-     * Report the current version; the current
-     * spec says they're all compatible after 1.0
-     */
-    rep.majorVersion = SERVER_RANDR_MAJOR;
-    rep.minorVersion = SERVER_RANDR_MINOR;
+
+    if ((stuff->majorVersion * 1000 + stuff->minorVersion) <
+        (SERVER_RANDR_MAJOR * 1000 + SERVER_RANDR_MINOR))
+    {
+	rep.majorVersion = stuff->majorVersion;
+	rep.minorVersion = stuff->minorVersion;
+    } else
+    {
+        rep.majorVersion = SERVER_RANDR_MAJOR;
+        rep.minorVersion = SERVER_RANDR_MINOR;
+    }
+
     if (client->swapped) {
     	swaps(&rep.sequenceNumber, n);
     	swapl(&rep.length, n);
commit 8b75d0f9d347d7c3aad1e53809e0a2bed03b92fc
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date:   Thu Sep 17 14:17:54 2009 +1000

    render: reply with the server or client version, whichever is lower.
    
    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>

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);


More information about the xorg-commit mailing list