commit 0b9feb6f39b34d154d4841d21dd3cdc88e861feb
parent b34c198f0b0333ecad26e1d4780f4255a4a7125e
Author: Leo <leo881003@gmail.com>
Date: Mon, 23 Mar 2020 16:23:01 +0800
Fix redundant call to seat_send_focus()
This commit fix calling to seat_send_focus() twice when a view is
closed. This codes revert #2580, but the original issue nolonger
exists.
Diffstat:
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/sway/input/seat.c b/sway/input/seat.c
@@ -288,8 +288,11 @@ static void handle_seat_node_destroy(struct wl_listener *listener, void *data) {
}
// The structure change might have caused it to move up to the top of
// the focus stack without sending focus notifications to the view
- seat_send_focus(next_focus, seat);
- seat_set_focus(seat, next_focus);
+ if (seat_get_focus(seat) == next_focus) {
+ seat_send_focus(next_focus, seat);
+ } else {
+ seat_set_focus(seat, next_focus);
+ }
} else {
// Setting focus_inactive
focus = seat_get_focus_inactive(seat, &root->node);