From c988362a39f26cd0b3f08d86f21e758d7b762511 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Kristian=20H=C3=B8gsberg?= Date: Tue, 4 Feb 2014 22:12:29 -0800 Subject: [PATCH] input: Transform to surface coordinates outside resource for loop When we send the pointer motion event, the transform from compositor to surface coordinates doesn't depend on the resource. Transform the coordinates up front instead of everytime we send to a resource. --- src/input.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/input.c b/src/input.c index d0f7fdf..1000192 100644 --- a/src/input.c +++ b/src/input.c @@ -172,11 +172,11 @@ default_grab_pointer_motion(struct weston_pointer_grab *grab, uint32_t time, weston_pointer_move(pointer, x, y); + if (pointer->focus) + weston_view_from_global_fixed(pointer->focus, + pointer->x, pointer->y, &sx, &sy); resource_list = &pointer->focus_resource_list; wl_resource_for_each(resource, resource_list) { - weston_view_from_global_fixed(pointer->focus, - pointer->x, pointer->y, - &sx, &sy); wl_pointer_send_motion(resource, time, sx, sy); } } -- 2.7.4