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@who-t.net>
This commit is contained in:
Peter Hutterer 2009-09-17 14:17:54 +10:00
parent 20ccc66708
commit 8b75d0f9d3

View File

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