From 265c3068740529990a2ab14477db20e773b149d4 Mon Sep 17 00:00:00 2001 From: "Carsten Haitzler (Rasterman)" Date: Sat, 10 Aug 2019 08:32:11 +0100 Subject: [PATCH] tiling - avoid infinite loop of not fit - toggle float, not fit, toggle this actually just blows the stack soon enough... so short circuit it. --- src/modules/tiling/e_mod_tiling.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/modules/tiling/e_mod_tiling.c b/src/modules/tiling/e_mod_tiling.c index 12f097a05..14aadced8 100644 --- a/src/modules/tiling/e_mod_tiling.c +++ b/src/modules/tiling/e_mod_tiling.c @@ -46,6 +46,7 @@ typedef struct Client_Extra Eina_Bool floating E_BITFIELD; Eina_Bool tiled E_BITFIELD; Eina_Bool tracked E_BITFIELD; + Eina_Bool being_removed E_BITFIELD; } Client_Extra; typedef struct _Instance @@ -793,6 +794,8 @@ _client_remove_no_apply(E_Client *ec) return EINA_FALSE; } + extra->being_removed = EINA_TRUE; + if (extra->drag.drag) { _client_drag_terminate(ec); @@ -840,6 +843,8 @@ toggle_floating(E_Client *ec) return; } + if (extra->being_removed) return; + extra->floating = !extra->floating; if (!desk_should_tile_check(ec->desk))