shell: Update focused surface pointer coordinates in popup grab

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 <jadahl@gmail.com>
Tested-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
dev
Jonas Ådahl 11 years ago committed by Pekka Paalanen
parent a3a5debe31
commit 61917c84e3
  1. 5
      desktop-shell/shell.c

@ -2982,6 +2982,11 @@ popup_grab_motion(struct weston_pointer_grab *grab, uint32_t time,
struct wl_resource *resource; struct wl_resource *resource;
wl_fixed_t sx, sy; 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); weston_pointer_move(pointer, x, y);
wl_resource_for_each(resource, &pointer->focus_resource_list) { wl_resource_for_each(resource, &pointer->focus_resource_list) {

Loading…
Cancel
Save