focus_fallback(TRUE);
} else if (client && client != focus_client) {
frame_adjust_focus(client->frame, TRUE);
- client_calc_layer(client);
focus_set_client(client);
+ client_calc_layer(client);
}
} else if (e->type == FocusOut) {
gboolean nomove = FALSE;
void focus_fallback(gboolean allow_refocus)
{
ObClient *new;
- ObClient *old;
-
- /* save this before moving focus away to nothing */
- old = focus_client;
/* unfocus any focused clients.. they can be focused by Pointer events
and such, and then when I try focus them, I won't get a FocusIn event
*/
focus_nothing();
- if ((new = focus_fallback_target(allow_refocus, old)))
+ if ((new = focus_fallback_target(allow_refocus, focus_client)))
client_focus(new);
}