from r6017, we no longer need to fallback in client_unmanage. yay
This commit is contained in:
parent
00bf97aecd
commit
b71f1cd6a5
1 changed files with 2 additions and 16 deletions
|
@ -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);
|
||||||
|
|
Loading…
Reference in a new issue