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.
This commit is contained in:
Kristian Høgsberg 2014-02-04 22:12:29 -08:00
parent 4c72f5721e
commit c988362a39

View File

@ -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);
}
}