]> git.sur5r.net Git - i3/i3/commitdiff
Not toggle floating on a CT_FLOATING_CON 1952/head
authorhwangcc23 <hwangcc@csie.nctu.edu.tw>
Tue, 22 Sep 2015 15:04:10 +0000 (23:04 +0800)
committerhwangcc23 <hwangcc@csie.nctu.edu.tw>
Tue, 22 Sep 2015 16:16:25 +0000 (00:16 +0800)
See the issue #1875.
Forbid the command to toggle floating on a CT_FLOATING_CON to avoid the crash.

src/floating.c

index 67c3a1b81653d128c9c93ecf05ae73acaeb24e7b..d7a330678d1d2d8227e3037c9a690c3d30bbb861 100644 (file)
@@ -369,6 +369,12 @@ void floating_disable(Con *con, bool automatic) {
  *
  */
 void toggle_floating_mode(Con *con, bool automatic) {
+    /* forbid the command to toggle floating on a CT_FLOATING_CON */
+    if (con->type == CT_FLOATING_CON) {
+        ELOG("Cannot toggle floating mode on con = %p because it is of type CT_FLOATING_CON.\n", con);
+        return;
+    }
+
     /* see if the client is already floating */
     if (con_is_floating(con)) {
         LOG("already floating, re-setting to tiling\n");