diff options
author | emersion <contact@emersion.fr> | 2019-03-10 21:47:30 +0100 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2019-03-10 14:59:34 -0600 |
commit | 191305468c0fe9b1acf8b6ad6c8a49b97cf793aa (patch) | |
tree | e9ae2fe1c00bba124507a3f0e4385b5fa5e6533b /sway/commands/workspace.c | |
parent | Update language in sway.desktop & sway(1) (diff) | |
download | sway-191305468c0fe9b1acf8b6ad6c8a49b97cf793aa.tar.gz sway-191305468c0fe9b1acf8b6ad6c8a49b97cf793aa.tar.zst sway-191305468c0fe9b1acf8b6ad6c8a49b97cf793aa.zip |
Fix crash in cmd_workspace when layer surface has focus
Diffstat (limited to 'sway/commands/workspace.c')
-rw-r--r-- | sway/commands/workspace.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sway/commands/workspace.c b/sway/commands/workspace.c index 5fde8129..362dcd1b 100644 --- a/sway/commands/workspace.c +++ b/sway/commands/workspace.c | |||
@@ -184,6 +184,11 @@ struct cmd_results *cmd_workspace(int argc, char **argv) { | |||
184 | bool create = argc > 1 && strcasecmp(argv[1], "--create") == 0; | 184 | bool create = argc > 1 && strcasecmp(argv[1], "--create") == 0; |
185 | struct sway_seat *seat = config->handler_context.seat; | 185 | struct sway_seat *seat = config->handler_context.seat; |
186 | struct sway_workspace *current = seat_get_focused_workspace(seat); | 186 | struct sway_workspace *current = seat_get_focused_workspace(seat); |
187 | if (!current) { | ||
188 | return cmd_results_new(CMD_FAILURE, "workspace", | ||
189 | "No workspace to switch from"); | ||
190 | } | ||
191 | |||
187 | struct sway_workspace *ws = NULL; | 192 | struct sway_workspace *ws = NULL; |
188 | if (strcasecmp(argv[0], "number") == 0) { | 193 | if (strcasecmp(argv[0], "number") == 0) { |
189 | if (argc < 2) { | 194 | if (argc < 2) { |