MetaWaylandSeat: reset pointer focus always when it might be different

It can happen because of a grab that the current surface changes
but the focus doesn't. Later on, when the grab ends, we would keep
the previous focus until the user goes out of the window and
back in again.
This commit is contained in:
Giovanni Campagna 2013-08-14 16:29:09 +02:00
parent a67c12e873
commit e2c768d682

View File

@ -520,14 +520,14 @@ meta_wayland_seat_repick (MetaWaylandSeat *seat,
surface = meta_shaped_texture_get_wayland_surface (shaped_texture);
}
if (surface != pointer->current)
pointer->current = surface;
if (surface != pointer->focus)
{
const MetaWaylandPointerGrabInterface *interface =
pointer->grab->interface;
interface->focus (pointer->grab,
surface,
pointer->current_x, pointer->current_y);
pointer->current = surface;
}
if (pointer->grab->focus)