diff options
author | marha <marha@users.sourceforge.net> | 2012-05-02 09:01:55 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2012-05-02 09:01:55 +0200 |
commit | 3d353f31ac1671d1b39c09b1f8d82c8811d3edd6 (patch) | |
tree | ce19dbcec75ce7e87547f6f9b3495888aaea0966 /xorg-server/Xi/xiqueryversion.c | |
parent | b2a0f04a2984b290c1224fc1b1883d08b01a6231 (diff) | |
parent | e67b35e7a899da5805fcce3d390cb10ebcaffe91 (diff) | |
download | vcxsrv-3d353f31ac1671d1b39c09b1f8d82c8811d3edd6.tar.gz vcxsrv-3d353f31ac1671d1b39c09b1f8d82c8811d3edd6.tar.bz2 vcxsrv-3d353f31ac1671d1b39c09b1f8d82c8811d3edd6.zip |
Merge remote-tracking branch 'origin/released'
Conflicts:
xorg-server/os/connection.c
Diffstat (limited to 'xorg-server/Xi/xiqueryversion.c')
-rw-r--r-- | xorg-server/Xi/xiqueryversion.c | 41 |
1 files changed, 21 insertions, 20 deletions
diff --git a/xorg-server/Xi/xiqueryversion.c b/xorg-server/Xi/xiqueryversion.c index fc0ca751b..6081c413d 100644 --- a/xorg-server/Xi/xiqueryversion.c +++ b/xorg-server/Xi/xiqueryversion.c @@ -70,28 +70,29 @@ ProcXIQueryVersion(ClientPtr client) pXIClient = dixLookupPrivate(&client->devPrivates, XIClientPrivateKey); - if (pXIClient->major_version && - (stuff->major_version != pXIClient->major_version || - stuff->minor_version != pXIClient->minor_version)) - { - client->errorValue = stuff->major_version; - return BadValue; + if (pXIClient->major_version) { + if (version_compare(stuff->major_version, stuff->minor_version, + pXIClient->major_version, pXIClient->minor_version) < 0) { + client->errorValue = stuff->major_version; + return BadValue; + } + major = pXIClient->major_version; + minor = pXIClient->minor_version; + } else { + if (version_compare(XIVersion.major_version, XIVersion.minor_version, + stuff->major_version, stuff->minor_version) > 0) { + major = stuff->major_version; + minor = stuff->minor_version; + } + else { + major = XIVersion.major_version; + minor = XIVersion.minor_version; + } + + pXIClient->major_version = major; + pXIClient->minor_version = minor; } - - if (version_compare(XIVersion.major_version, XIVersion.minor_version, - stuff->major_version, stuff->minor_version) > 0) { - major = stuff->major_version; - minor = stuff->minor_version; - } - else { - major = XIVersion.major_version; - minor = XIVersion.minor_version; - } - - pXIClient->major_version = major; - pXIClient->minor_version = minor; - memset(&rep, 0, sizeof(xXIQueryVersionReply)); rep.repType = X_Reply; rep.RepType = X_XIQueryVersion; |