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>
This commit is contained in:
parent
a3a5debe31
commit
61917c84e3
@ -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) {
|
||||
|
Loading…
Reference in New Issue
Block a user