compositor: Set pointer->current before calling focus handler

The grab interface handlers all expect pointer->current to identify
the surface under the pointer regardless of grabs etc.  Thus, we need
to set it before calling the focus handler.
This commit is contained in:
Kristian Høgsberg 2012-06-04 16:12:38 -04:00
parent 8591dbf8b5
commit 4e99ac4f20

View File

@ -631,10 +631,10 @@ weston_device_repick(struct wl_seat *seat)
if (&surface->surface != seat->pointer->current) {
interface = seat->pointer->grab->interface;
seat->pointer->current = &surface->surface;
interface->focus(seat->pointer->grab, &surface->surface,
seat->pointer->current_x,
seat->pointer->current_y);
seat->pointer->current = &surface->surface;
}
focus = (struct weston_surface *) seat->pointer->grab->focus;