diff options
Diffstat (limited to 'xorg-server/render/render.c')
-rw-r--r-- | xorg-server/render/render.c | 15 |
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); |