From 61917c84e3fcbb71da806a5e94a82916d77e18b1 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jonas=20=C3=85dahl?= Date: Mon, 11 Aug 2014 22:44:02 +0200 Subject: [PATCH] shell: Update focused surface pointer coordinates in popup grab MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The commit 'input: Send leave and enter pair when the surface moves under the cursor' introduced focused surface local pointer coordinates to keep track of if a surface had been moved or transformed in a way that the pointer posititon relative to that surface would change. Update these coordinates also for the popup grab as otherwise every pointer motion during a popup grab results in leave and then enter events. Signed-off-by: Jonas Ådahl Tested-by: Pekka Paalanen --- desktop-shell/shell.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c index d756076..ec72287 100644 --- a/desktop-shell/shell.c +++ b/desktop-shell/shell.c @@ -2982,6 +2982,11 @@ popup_grab_motion(struct weston_pointer_grab *grab, uint32_t time, struct wl_resource *resource; wl_fixed_t sx, sy; + if (pointer->focus) { + weston_view_from_global_fixed(pointer->focus, x, y, + &pointer->sx, &pointer->sy); + } + weston_pointer_move(pointer, x, y); wl_resource_for_each(resource, &pointer->focus_resource_list) { -- 2.7.4