commit 1fd21650d731ebed8ab8ebfc9e21526cdf162525
parent 200d0360ea3fb2c68a6b92ff3cf0249d54457b88
Author: Dominique Martinet <asmadeus@codewreck.org>
Date: Fri, 13 Apr 2018 14:56:58 +0900
seat_set_focus_wrap: fix use-after-free when destroying last focused container
Diffstat:
1 file changed, 3 insertions(+), 0 deletions(-)
diff --git a/sway/input/seat.c b/sway/input/seat.c
@@ -491,6 +491,9 @@ void seat_set_focus_warp(struct sway_seat *seat,
ipc_event_workspace(last_ws, container, "focus");
if (!workspace_is_visible(last_ws)
&& last_ws->children->length == 0) {
+ if (last_ws == last_focus) {
+ last_focus = NULL;
+ }
container_destroy(last_ws);
}
}