[PATCH] Xi: Allow clients to ask for 2.3 and then 2.2 without failing

Peter Hutterer peter.hutterer at who-t.net
Thu Jul 25 18:23:16 PDT 2013


On Thu, Jul 25, 2013 at 11:46:17AM -0700, Keith Packard wrote:
> Peter Hutterer <peter.hutterer at who-t.net> writes:
> 
> > thanks. yes, this patch is needed because the current situation is untenable
> > for too many clients and we clearly can't rely on the client knowning what
> > version it actually supports. sad, but true.
> > it means some error checking flies out the window, but really, not much we
> > can do apparently.
> >
> > However, before we can shove this patch in, we (== you :) need to also
> > update the libXi man page.
> 
> From 794e1460490c762871b0c5cc95049fc10a8cc878 Mon Sep 17 00:00:00 2001
> From: Keith Packard <keithp at keithp.com>
> Date: Thu, 18 Jul 2013 09:38:36 -0700
> Subject: [PATCH] man: Update XIQueryVersion docs to match new version
>  compatibility semantics
> 
> The X server now allows clients to specify any combination of versions
> starting with version 2.2, document how that works.
> 
> Signed-off-by: Keith Packard <keithp at keithp.com>
> ---
>  man/XIQueryVersion.txt | 19 +++++++++++++++----
>  1 file changed, 15 insertions(+), 4 deletions(-)
> 
> diff --git a/man/XIQueryVersion.txt b/man/XIQueryVersion.txt
> index 839c18c..903c69f 100644
> --- a/man/XIQueryVersion.txt
> +++ b/man/XIQueryVersion.txt
> @@ -42,10 +42,21 @@ DESCRIPTION
>     cases major_version_inout and minor_version_inout are set to the 
>     server's supported version.
>  
> -   Consecutive calls to XIQueryVersion by the same client always return the
> -   first returned major.minor version. If the client requests a version
> -   lower than the first returned major.minor version in a subsequent call, a
> -   BadValue error occurs.
> +   If the client has previously called XIQueryVersion, then the result
> +   depends on the previously requested version and the currently
> +   requested version.
> +
> +   If either the previous or current requested versions is less than
> +   2.2, or if the requested major version numbers do not match, then
> +   consecutive calls to XIQueryVersion by the same client always
> +   return the first returned major.minor version. If the client
> +   requests a version lower than the first returned major.minor
> +   version in a subsequent call, a BadValue error occurs.
> +
> +   If all of the requested versions are 2.2 or greater, then
> +   consecutive calls to XIQueryVersion by the same client with the
> +   same major version will return the requested version, but the server
> +   will operate according to the highest requested version number.
>  
>     XIQueryVersion can generate a BadValue error.
>  
> -- 
> 1.8.3.2

applied locally, thanks. Squashed this bit in though to avoid confusion:

diff --git a/man/XIQueryVersion.txt b/man/XIQueryVersion.txt
index 903c69f..375b58f 100644
--- a/man/XIQueryVersion.txt
+++ b/man/XIQueryVersion.txt
@@ -56,7 +56,8 @@ DESCRIPTION
    If all of the requested versions are 2.2 or greater, then
    consecutive calls to XIQueryVersion by the same client with the
    same major version will return the requested version, but the server
-   will operate according to the highest requested version number.
+   will operate according to the highest requested version number or
+   the highest supported version, whichever is lower.
 
    XIQueryVersion can generate a BadValue error.
 

Cheers,
   Peter


More information about the xorg-devel mailing list