all repos — openbox @ 1c4c2b92a0be1b1358f34898ef47f74e0b21ae6a

openbox fork - make it a bit more like ryudo

focus_client is already nulled from the fallback, and use client_focused for niceness in the future
Dana Jansens danakj@orodu.net
commit

1c4c2b92a0be1b1358f34898ef47f74e0b21ae6a

parent

b673823d0b6dfdde1031dfed4f42544921f3c984

1 files changed, 6 insertions(+), 4 deletions(-)

jump to
M openbox/client.copenbox/client.c

@@ -493,7 +493,7 @@ XChangeSaveSet(ob_display, self->window, SetModeDelete);

/* update the focus lists */ focus_order_remove(self); - if (self == focus_client) { + if (client_focused(self)) { /* we have to fall back here because we might not get a focus out. 1. we need to xselectinput off the window before we unmap it because otherwise we end up getting unmapnotifies we don't want and they

@@ -503,11 +503,13 @@ are the ones unmapped it, and causing the focusout. so we won't

get the focusout event. 3. we can't handle focusin events on the root window because they come from all screens, so the focus change gets lost + + if this ever gets removed in the future MAKE SURE to replace it + with: + /- don't leave an invalid focus_client -/ + focus_client = NULL; */ focus_fallback(FALSE); - - /* don't leave an invalid focus_client */ - focus_client = NULL; } client_list = g_list_remove(client_list, self);