From 104a4c4f5f3077a62e2fdc7a1718636b7feb9a13 Mon Sep 17 00:00:00 2001 From: Neil Roberts Date: Thu, 3 Oct 2013 16:43:07 +0100 Subject: [PATCH] Don't remove the touch grab until the last touch point is removed Previously if you move a window around and temporarily add a second finger then it will cancel the grab even though the original finger is still held on the screen. It seems more robust to avoid cancelling the grab until all fingers have been removed. --- src/shell.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/shell.c b/src/shell.c index 2822a2b59..45bbed37f 100644 --- a/src/shell.c +++ b/src/shell.c @@ -1085,7 +1085,9 @@ touch_move_grab_up(struct weston_touch_grab *grab, uint32_t time, int touch_id) struct shell_touch_grab *shell_grab = container_of(grab, struct shell_touch_grab, grab); - shell_touch_grab_end(shell_grab); + + if (grab->touch->seat->num_tp == 0) + shell_touch_grab_end(shell_grab); } static void