From 0717b76715d9e98bb384ba9714d3815442e76db4 Mon Sep 17 00:00:00 2001 From: emersion Date: Sun, 10 Mar 2019 21:47:30 +0100 Subject: [PATCH] Fix crash in cmd_workspace when layer surface has focus --- sway/commands/workspace.c | 1 - sway/input/seat.c | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/sway/commands/workspace.c b/sway/commands/workspace.c index 65a3f407..614140e0 100644 --- a/sway/commands/workspace.c +++ b/sway/commands/workspace.c @@ -181,7 +181,6 @@ struct cmd_results *cmd_workspace(int argc, char **argv) { ++argv; } - struct sway_workspace *ws = NULL; if (strcasecmp(argv[0], "number") == 0) { if (argc < 2) { diff --git a/sway/input/seat.c b/sway/input/seat.c index 245326a1..3a68904b 100644 --- a/sway/input/seat.c +++ b/sway/input/seat.c @@ -1101,7 +1101,7 @@ struct sway_node *seat_get_focus(struct sway_seat *seat) { } struct sway_workspace *seat_get_focused_workspace(struct sway_seat *seat) { - struct sway_node *focus = seat_get_focus(seat); + struct sway_node *focus = seat_get_focus_inactive(seat, &root->node); if (!focus) { return NULL; } @@ -1111,7 +1111,7 @@ struct sway_workspace *seat_get_focused_workspace(struct sway_seat *seat) { if (focus->type == N_WORKSPACE) { return focus->sway_workspace; } - return NULL; // unreachable + return NULL; // output doesn't have a workspace yet } struct sway_container *seat_get_focused_container(struct sway_seat *seat) {