Bugfix: tree_split
should not split floating cons
Use the more robust test of `con_is_floating` for testing a container for being floating. fixes #1177
This commit is contained in:
parent
1bd13ce555
commit
6ae4ecb1de
@ -387,7 +387,7 @@ void tree_close_con(kill_window_t kill_window) {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void tree_split(Con *con, orientation_t orientation) {
|
void tree_split(Con *con, orientation_t orientation) {
|
||||||
if (con->type == CT_FLOATING_CON) {
|
if (con_is_floating(con)) {
|
||||||
DLOG("Floating containers can't be split.\n");
|
DLOG("Floating containers can't be split.\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
35
testcases/t/218-regress-floating-split.t
Normal file
35
testcases/t/218-regress-floating-split.t
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
#!perl
|
||||||
|
# vim:ts=4:sw=4:expandtab
|
||||||
|
#
|
||||||
|
# Please read the following documents before working on tests:
|
||||||
|
# • http://build.i3wm.org/docs/testsuite.html
|
||||||
|
# (or docs/testsuite)
|
||||||
|
#
|
||||||
|
# • http://build.i3wm.org/docs/lib-i3test.html
|
||||||
|
# (alternatively: perldoc ./testcases/lib/i3test.pm)
|
||||||
|
#
|
||||||
|
# • http://build.i3wm.org/docs/ipc.html
|
||||||
|
# (or docs/ipc)
|
||||||
|
#
|
||||||
|
# • http://onyxneon.com/books/modern_perl/modern_perl_a4.pdf
|
||||||
|
# (unless you are already familiar with Perl)
|
||||||
|
#
|
||||||
|
# Make sure floating containers really can't be split.
|
||||||
|
# Ticket: #1177
|
||||||
|
# Bug still in: 4.7.2-81-g905440d
|
||||||
|
use i3test;
|
||||||
|
|
||||||
|
my $ws = fresh_workspace;
|
||||||
|
my $window = open_floating_window;
|
||||||
|
cmd "layout stacked";
|
||||||
|
cmd "splitv";
|
||||||
|
|
||||||
|
my $floating_con = get_ws($ws)->{floating_nodes}[0]->{nodes}[0];
|
||||||
|
|
||||||
|
is(@{$floating_con->{nodes}}, 0, 'floating con is still a leaf');
|
||||||
|
|
||||||
|
cmd 'floating disable';
|
||||||
|
|
||||||
|
does_i3_live;
|
||||||
|
|
||||||
|
done_testing;
|
Loading…
Reference in New Issue
Block a user