diff options
author | emersion <contact@emersion.fr> | 2019-03-10 21:47:30 +0100 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2019-03-11 10:57:14 -0400 |
commit | 0717b76715d9e98bb384ba9714d3815442e76db4 (patch) | |
tree | dda460f39a94cc7d8c450b2091fb9dbacdee158e /sway | |
parent | Update language in sway.desktop & sway(1) (diff) | |
download | sway-0717b76715d9e98bb384ba9714d3815442e76db4.tar.gz sway-0717b76715d9e98bb384ba9714d3815442e76db4.tar.zst sway-0717b76715d9e98bb384ba9714d3815442e76db4.zip |
Fix crash in cmd_workspace when layer surface has focus
Diffstat (limited to 'sway')
-rw-r--r-- | sway/commands/workspace.c | 1 | ||||
-rw-r--r-- | 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) { | |||
181 | ++argv; | 181 | ++argv; |
182 | } | 182 | } |
183 | 183 | ||
184 | |||
185 | struct sway_workspace *ws = NULL; | 184 | struct sway_workspace *ws = NULL; |
186 | if (strcasecmp(argv[0], "number") == 0) { | 185 | if (strcasecmp(argv[0], "number") == 0) { |
187 | if (argc < 2) { | 186 | 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) { | |||
1101 | } | 1101 | } |
1102 | 1102 | ||
1103 | struct sway_workspace *seat_get_focused_workspace(struct sway_seat *seat) { | 1103 | struct sway_workspace *seat_get_focused_workspace(struct sway_seat *seat) { |
1104 | struct sway_node *focus = seat_get_focus(seat); | 1104 | struct sway_node *focus = seat_get_focus_inactive(seat, &root->node); |
1105 | if (!focus) { | 1105 | if (!focus) { |
1106 | return NULL; | 1106 | return NULL; |
1107 | } | 1107 | } |
@@ -1111,7 +1111,7 @@ struct sway_workspace *seat_get_focused_workspace(struct sway_seat *seat) { | |||
1111 | if (focus->type == N_WORKSPACE) { | 1111 | if (focus->type == N_WORKSPACE) { |
1112 | return focus->sway_workspace; | 1112 | return focus->sway_workspace; |
1113 | } | 1113 | } |
1114 | return NULL; // unreachable | 1114 | return NULL; // output doesn't have a workspace yet |
1115 | } | 1115 | } |
1116 | 1116 | ||
1117 | struct sway_container *seat_get_focused_container(struct sway_seat *seat) { | 1117 | struct sway_container *seat_get_focused_container(struct sway_seat *seat) { |