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 2822a2b..45bbed3 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
-- 
1.8.3.1

_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to