Return BadValue if major or minor differs on the second call.
Signed-off-by: Peter Hutterer <[email protected]>
---
Xi/xiqueryversion.c | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/Xi/xiqueryversion.c b/Xi/xiqueryversion.c
index a940614..befa383 100644
--- a/Xi/xiqueryversion.c
+++ b/Xi/xiqueryversion.c
@@ -71,6 +71,15 @@ 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 (version_compare(XIVersion.major_version, XIVersion.minor_version,
stuff->major_version, stuff->minor_version) > 0)
{
--
1.7.7.6
_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel