aboutsummaryrefslogtreecommitdiff
path: root/sway/commands/swap.c
diff options
context:
space:
mode:
authorRonan Pigott <rpigott@berkeley.edu>2022-01-22 10:52:03 -0700
committerSimon Ser <contact@emersion.fr>2022-01-22 19:08:15 +0100
commitfeea4b44108cf971ff8d1d474a75128dd737c1db (patch)
tree8384a8fc223742cfbda28d7963d4d416ee681601 /sway/commands/swap.c
parentb4fd4bca0e95bd6abab32280d8bad40c97df0828 (diff)
cmd/swap: error on swapping a container with itself
Diffstat (limited to 'sway/commands/swap.c')
-rw-r--r--sway/commands/swap.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sway/commands/swap.c b/sway/commands/swap.c
index ce5e5128..9355944d 100644
--- a/sway/commands/swap.c
+++ b/sway/commands/swap.c
@@ -126,10 +126,10 @@ void container_swap(struct sway_container *con1, struct sway_container *con2) {
}
enum sway_fullscreen_mode fs1 = con1->pending.fullscreen_mode;
- enum sway_fullscreen_mode fs2 = con2->pending.fullscreen_mode;
if (fs1) {
container_fullscreen_disable(con1);
}
+ enum sway_fullscreen_mode fs2 = con2->pending.fullscreen_mode;
if (fs2) {
container_fullscreen_disable(con2);
}
@@ -247,6 +247,9 @@ struct cmd_results *cmd_swap(int argc, char **argv) {
} else if (!current) {
error = cmd_results_new(CMD_FAILURE,
"Can only swap with containers and views");
+ } else if (current == other) {
+ error = cmd_results_new(CMD_FAILURE,
+ "Cannot swap a container with itself");
} else if (container_has_ancestor(current, other)
|| container_has_ancestor(other, current)) {
error = cmd_results_new(CMD_FAILURE,