Peter Hutterer <[email protected]> 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--;
--
[email protected]
pgp9czxsfHbma.pgp
Description: PGP signature
_______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
