(!focus_ec->iconic || focus_ec->exp_iconify.buffer_flush))
{
ELOGF("FOCUS", "focus set | topmost_focus", focus_ec);
+ if (focused) e_client_frame_focus_set(focused, EINA_FALSE);
e_client_frame_focus_set(focus_ec, EINA_TRUE);
}
else if (focused && (focus_ec == NULL))
if (e_config->focus_policy_ext == E_FOCUS_EXT_TOP_STACK)
{
ec = _e_client_focus_topmost_focusable_get();
- if (ec && (ec != focused))
- {
- ELOGF("FOCUS", "focus set | topmost focus calculate", ec);
- e_client_frame_focus_set(ec, EINA_TRUE);
- }
- else if (focused && (ec == NULL))
+
+ if (ec != focused)
{
- ELOGF("FOCUS", "focus unset | No focusable ec", focused);
+ if (!ec) ELOGF("FOCUS", "focus unset | No focusable ec", focused);
e_client_frame_focus_set(focused, EINA_FALSE);
+
+ if (ec)
+ {
+ ELOGF("FOCUS", "focus set | topmost focus calculate", ec);
+ e_client_frame_focus_set(ec, EINA_TRUE);
+ }
}
return;
}