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.
This commit is contained in:
Neil Roberts 2013-10-03 16:43:07 +01:00 committed by Kristian Høgsberg
parent 306fe0838b
commit e14aa4f0a9

View file

@ -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