From 0b9feb6f39b34d154d4841d21dd3cdc88e861feb Mon Sep 17 00:00:00 2001 From: Leo Date: Mon, 23 Mar 2020 16:23:01 +0800 Subject: 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. --- sway/input/seat.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'sway') diff --git a/sway/input/seat.c b/sway/input/seat.c index 920742e9..502bc0bc 100644 --- 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); -- cgit v1.2.3