[PATCH weston] shell: Update focused surface pointer coordinates in popup grab
Jonas Ådahl
jadahl at gmail.com
Mon Aug 11 13:44:02 PDT 2014
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 at gmail.com>
---
desktop-shell/shell.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
index 3c3649c..3c15f70 100644
--- a/desktop-shell/shell.c
+++ b/desktop-shell/shell.c
@@ -2979,6 +2979,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) {
--
1.8.5.1
More information about the wayland-devel
mailing list