mirror of
https://github.com/brl/mutter.git
synced 2025-07-06 02:49:52 +00:00
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:
@ -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)
|
||||
|
Reference in New Issue
Block a user