Merge branch 'fix-float-resize'
This commit is contained in:
commit
59a694edea
|
@ -981,18 +981,19 @@ resize:
|
||||||
ppt *= -1;
|
ppt *= -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (con_is_floating(focused)) {
|
Con *floating_con;
|
||||||
|
if ((floating_con = con_inside_floating(focused))) {
|
||||||
printf("floating resize\n");
|
printf("floating resize\n");
|
||||||
if (direction == TOK_UP) {
|
if (direction == TOK_UP) {
|
||||||
focused->parent->rect.y -= px;
|
floating_con->rect.y -= px;
|
||||||
focused->parent->rect.height += px;
|
floating_con->rect.height += px;
|
||||||
} else if (direction == TOK_DOWN) {
|
} else if (direction == TOK_DOWN) {
|
||||||
focused->parent->rect.height += px;
|
floating_con->rect.height += px;
|
||||||
} else if (direction == TOK_LEFT) {
|
} else if (direction == TOK_LEFT) {
|
||||||
focused->parent->rect.x -= px;
|
floating_con->rect.x -= px;
|
||||||
focused->parent->rect.width += px;
|
floating_con->rect.width += px;
|
||||||
} else {
|
} else {
|
||||||
focused->parent->rect.width += px;
|
floating_con->rect.width += px;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
LOG("tiling resize\n");
|
LOG("tiling resize\n");
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
#!perl
|
||||||
|
# vim:ts=4:sw=4:expandtab
|
||||||
|
#
|
||||||
|
# Regression: resizing a floating split container leads to a crash.
|
||||||
|
# (Ticket #588, present until 4412ccbe5a4fad8a4cd594e6f10f937515a4d37c)
|
||||||
|
#
|
||||||
|
use i3test;
|
||||||
|
|
||||||
|
my $tmp = fresh_workspace;
|
||||||
|
|
||||||
|
my $first = open_window;
|
||||||
|
cmd 'split v';
|
||||||
|
my $second = open_window;
|
||||||
|
|
||||||
|
cmd 'focus parent';
|
||||||
|
cmd 'floating toggle';
|
||||||
|
cmd 'layout stacking';
|
||||||
|
|
||||||
|
cmd 'resize grow up 10 px or 10 ppt';
|
||||||
|
|
||||||
|
does_i3_live;
|
||||||
|
|
||||||
|
done_testing;
|
Loading…
Reference in New Issue