diff options
author | Giovanni Campagna <gcampagn@redhat.com> | 2013-08-14 16:29:09 +0200 |
---|---|---|
committer | Giovanni Campagna <gcampagn@redhat.com> | 2013-08-14 18:42:07 +0200 |
commit | e2c768d682bc2efbd93918d087956dd8a160ed56 (patch) | |
tree | 75c7dc8feb5a6e607c8bb223f2c6f3ad3178e4b0 | |
parent | a67c12e873bb008c35970ed7ed063e7517db708e (diff) | |
download | mutter-wip/wayland-display.tar.gz |
MetaWaylandSeat: reset pointer focus always when it might be differentwip/wayland-display
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.
-rw-r--r-- | src/wayland/meta-wayland-seat.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/wayland/meta-wayland-seat.c b/src/wayland/meta-wayland-seat.c index 8f3123160..904d01055 100644 --- a/src/wayland/meta-wayland-seat.c +++ b/src/wayland/meta-wayland-seat.c @@ -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) |