[PATCH][master][1.12] Implement passive touch ungrabbing

Peter Hutterer peter.hutterer at who-t.net
Fri Mar 30 15:21:06 PDT 2012


,On 30/03/12 11:06 , Chase Douglas wrote:
> Whoops. Forgot to implement this. The code currently generates an error
> due to the unhandled grab type.
>
> X.Org Bug 48069<https://bugs.freedesktop.org/show_bug.cgi?id=48069>
>
> Signed-off-by: Chase Douglas<chase.douglas at canonical.com>

Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>

Keith, please merge this directly.

> ---
>   Xi/xipassivegrab.c |    9 +++++++--
>   1 files changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/Xi/xipassivegrab.c b/Xi/xipassivegrab.c
> index 8a1c599..7130328 100644
> --- a/Xi/xipassivegrab.c
> +++ b/Xi/xipassivegrab.c
> @@ -290,13 +290,15 @@ ProcXIPassiveUngrabDevice(ClientPtr client)
>       if (stuff->grab_type != XIGrabtypeButton&&
>           stuff->grab_type != XIGrabtypeKeycode&&
>           stuff->grab_type != XIGrabtypeEnter&&
> -        stuff->grab_type != XIGrabtypeFocusIn) {
> +        stuff->grab_type != XIGrabtypeFocusIn&&
> +        stuff->grab_type != XIGrabtypeTouchBegin) {
>           client->errorValue = stuff->grab_type;
>           return BadValue;
>       }
>
>       if ((stuff->grab_type == XIGrabtypeEnter ||
> -         stuff->grab_type == XIGrabtypeFocusIn)&&  stuff->detail != 0) {
> +         stuff->grab_type == XIGrabtypeFocusIn ||
> +         stuff->grab_type == XIGrabtypeTouchBegin)&&  stuff->detail != 0) {
>           client->errorValue = stuff->detail;
>           return BadValue;
>       }
> @@ -327,6 +329,9 @@ ProcXIPassiveUngrabDevice(ClientPtr client)
>       case XIGrabtypeFocusIn:
>           tempGrab->type = XI_FocusIn;
>           break;
> +    case XIGrabtypeTouchBegin:
> +        tempGrab->type = XI_TouchBegin;
> +        break;
>       }
>       tempGrab->grabtype = XI2;
>       tempGrab->modifierDevice = mod_dev;



More information about the xorg-devel mailing list