From 61584a5f57c27d2a0835410088091d9dbbdfe57f Mon Sep 17 00:00:00 2001 From: "Carsten Haitzler (Rasterman)" Date: Fri, 7 Jan 2022 00:10:13 +0000 Subject: e focus - fix previous commit segv on no windows left if window deleted is the focused on... oops - BOOM. not handled. handle it. also revert x focus to root so bindings work. fixes previous 2d86d75139c40e7365e34880b0e3b56f248b0e41 @fix --- src/bin/e_client.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/bin/e_client.c b/src/bin/e_client.c index 85f5504a73..f3d01663b5 100644 --- a/src/bin/e_client.c +++ b/src/bin/e_client.c @@ -459,6 +459,14 @@ e_client_revert_focus(E_Client *ec) static void _e_client_free(E_Client *ec) { + if (focused == ec) + { + focused = NULL; +#ifndef HAVE_WAYLAND_ONLY + if (e_comp->comp_type != E_PIXMAP_TYPE_WL) + ecore_x_window_focus(e_comp->root); +#endif + } if (ec->desk) ec->desk->fullscreen_clients = eina_list_remove(ec->desk->fullscreen_clients, ec); if (ec->restore_zone_id) -- cgit v1.2.1