aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2016-10-10 20:51:55 -0400
committerGitHub <noreply@github.com>2016-10-10 20:51:55 -0400
commit6446e4409f1e6e106c1576683c858df785e3cf38 (patch)
tree5f80bbe3775f0e405895ab973c62f8bbd8ea1bf8
parent8d277bc962bab2817c9271d60839f49972599f5b (diff)
parent5384d3effee0a6b41b99ca4cbad471d1b0dcbc20 (diff)
downloadsway-6446e4409f1e6e106c1576683c858df785e3cf38.tar.xz
Merge pull request #947 from alkino/fix_move_empty_workspace
Can't move an empty workspace
-rw-r--r--sway/commands/move.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sway/commands/move.c b/sway/commands/move.c
index 5b97897a..48e9d562 100644
--- a/sway/commands/move.c
+++ b/sway/commands/move.c
@@ -34,6 +34,9 @@ struct cmd_results *cmd_move(int argc, char **argv) {
} else if (strcasecmp(argv[1], "to") == 0 && strcasecmp(argv[2], "workspace") == 0) {
// move container to workspace x
if (view->type == C_WORKSPACE) {
+ if (!view->children || view->children->length == 0) {
+ return cmd_results_new(CMD_FAILURE, "move", "Cannot move an empty workspace");
+ }
view = new_container(view, view->layout);
} if (view->type != C_CONTAINER && view->type != C_VIEW) {
return cmd_results_new(CMD_FAILURE, "move", "Can only move containers and views.");
@@ -59,6 +62,9 @@ struct cmd_results *cmd_move(int argc, char **argv) {
struct wlc_point abs_pos;
get_absolute_center_position(view, &abs_pos);
if (view->type == C_WORKSPACE) {
+ if (!view->children || view->children->length == 0) {
+ return cmd_results_new(CMD_FAILURE, "move", "Cannot move an empty workspace");
+ }
view = new_container(view, view->layout);
} else if (view->type != C_CONTAINER && view->type != C_VIEW) {
return cmd_results_new(CMD_FAILURE, "move", "Can only move containers and views.");