aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar emersion <contact@emersion.fr>2019-03-10 21:47:30 +0100
committerLibravatar Drew DeVault <sir@cmpwn.com>2019-03-11 10:57:14 -0400
commit0717b76715d9e98bb384ba9714d3815442e76db4 (patch)
treedda460f39a94cc7d8c450b2091fb9dbacdee158e
parentUpdate language in sway.desktop & sway(1) (diff)
downloadsway-0717b76715d9e98bb384ba9714d3815442e76db4.tar.gz
sway-0717b76715d9e98bb384ba9714d3815442e76db4.tar.zst
sway-0717b76715d9e98bb384ba9714d3815442e76db4.zip
Fix crash in cmd_workspace when layer surface has focus
-rw-r--r--sway/commands/workspace.c1
-rw-r--r--sway/input/seat.c4
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
1103struct sway_workspace *seat_get_focused_workspace(struct sway_seat *seat) { 1103struct 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
1117struct sway_container *seat_get_focused_container(struct sway_seat *seat) { 1117struct sway_container *seat_get_focused_container(struct sway_seat *seat) {