Peter Hutterer <peter.hutte...@who-t.net> writes:

> Changes since v1:
> - reset the grab of the listener currently removed to NULL, not the last
>   listener

Yeah, your patch looks correct where mine was clearly busted (it was
smashing the grab pointer on the *last* listener, not the one which was
getting removed).

> diff --git a/dix/touch.c b/dix/touch.c
> index d890b62..99f105b 100644
> @@ -702,6 +706,11 @@ TouchRemoveListener(TouchPointInfoPtr ti, XID resource)
>          if (ti->listeners[i].listener == resource) {
>              int j;
>  
> +            if (ti->listeners[i].grab) {
> +                ti->listeners[i].grab = NULL;
> +                ti->num_grabs--;
> +            }
> +
>              for (j = i; j < ti->num_listeners - 1; j++)
>                  ti->listeners[j] = ti->listeners[j + 1];
>              ti->num_listeners--;

-- 
keith.pack...@intel.com

Attachment: pgp9czxsfHbma.pgp
Description: PGP signature

_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to