tiling - avoid infinite loop of not fit - toggle float, not fit, toggle

this actually just blows the stack soon enough... so short circuit it.
This commit is contained in:
Carsten Haitzler 2019-08-10 08:32:11 +01:00
parent 2aae421d7a
commit 265c306874
1 changed files with 5 additions and 0 deletions

View File

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