aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/render
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/render')
-rw-r--r--xorg-server/render/render.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/xorg-server/render/render.c b/xorg-server/render/render.c
index 995ebd956..a3067665e 100644
--- a/xorg-server/render/render.c
+++ b/xorg-server/render/render.c
@@ -45,6 +45,7 @@
#include <X11/Xfuncproto.h>
#include "cursorstr.h"
#include "xace.h"
+#include "protocol-versions.h"
#if HAVE_STDINT_H
#include <stdint.h>
@@ -270,8 +271,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) <
+ (SERVER_RENDER_MAJOR_VERSION * 1000 + SERVER_RENDER_MINOR_VERSION))
+ {
+ rep.majorVersion = stuff->majorVersion;
+ rep.minorVersion = stuff->minorVersion;
+ } else
+ {
+ rep.majorVersion = SERVER_RENDER_MAJOR_VERSION;
+ rep.minorVersion = SERVER_RENDER_MINOR_VERSION;
+ }
+
if (client->swapped) {
swaps(&rep.sequenceNumber, n);
swapl(&rep.length, n);