raster pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=265c3068740529990a2ab14477db20e773b149d4

commit 265c3068740529990a2ab14477db20e773b149d4
Author: Carsten Haitzler (Rasterman) <[email protected]>
Date:   Sat Aug 10 08:32:11 2019 +0100

    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))

-- 


Reply via email to