]> git.sur5r.net Git - i3/i3/commitdiff
Bugfix: `tree_split` should not split floating cons
authorTony Crisci <tony@dubstepdish.com>
Fri, 7 Feb 2014 15:07:56 +0000 (10:07 -0500)
committerMichael Stapelberg <michael@stapelberg.de>
Sat, 8 Feb 2014 19:59:23 +0000 (20:59 +0100)
Use the more robust test of `con_is_floating` for testing a container
for being floating.

fixes #1177

src/tree.c
testcases/t/218-regress-floating-split.t [new file with mode: 0644]

index 046d0b4c18caec263fd41f84ae70380c7e5ced55..48ab163da596c94b1811c6082e61adb6b5bbda37 100644 (file)
@@ -387,7 +387,7 @@ void tree_close_con(kill_window_t kill_window) {
  *
  */
 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");
         return;
     }
diff --git a/testcases/t/218-regress-floating-split.t b/testcases/t/218-regress-floating-split.t
new file mode 100644 (file)
index 0000000..d66adc1
--- /dev/null
@@ -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;