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