user_output_names_find_next: Always initialize target_output

This way, if the user has provided a valid, existing output in the list
of outputs, the focus & move workspace to output commands will not
report a misleading failure.

Side-effect is that the command code will try to execute a no-op e.g. by
moving the workspace to the output it already is on. But that's what the
user is actually requesting in this case and it shouldn't be a problem.

Fixes #4691
This commit is contained in:
Orestis Floros
2021-11-27 22:48:48 +01:00
parent d44e1442c2
commit 854616ed2e
3 changed files with 19 additions and 8 deletions

View File

@ -39,6 +39,16 @@ sub is_ws {
is(get_output_for_workspace("$ws_num"), "fake-$out_num", "Workspace $ws_num -> $out_num: $msg");
}
###############################################################################
# Test moving workspace to same output
# See issue #4691
###############################################################################
is_ws(1, 0, 'sanity check');
my $reply = cmd '[con_mark=aa] move workspace to output fake-0';
is_ws(1, 0, 'workspace did not move');
ok($reply->[0]->{success}, 'reply success');
###############################################################################
# Test using "next" special keyword
###############################################################################