from r6017, we no longer need to fallback in client_unmanage. yay

This commit is contained in:
Dana Jansens 2007-05-04 02:48:23 +00:00
parent 00bf97aecd
commit b71f1cd6a5

View file

@ -503,22 +503,8 @@ void client_unmanage(ObClient *self)
/* update the focus lists */ /* update the focus lists */
focus_order_remove(self); focus_order_remove(self);
if (client_focused(self)) { if (client_focused(self)) {
/* we have to fall back here because we might not get a focus out. /* don't leave an invalid focus_client */
1. we need to xselectinput off the window before we unmap it because focus_client = NULL;
otherwise we end up getting unmapnotifies we don't want and they
can mess up mapping it again quickly
2. this means that if we unmanage from a synthetic unmapnotify, we
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);
} }
client_list = g_list_remove(client_list, self); client_list = g_list_remove(client_list, self);