discomfitor pushed a commit to branch enlightenment-0.19. http://git.enlightenment.org/core/enlightenment.git/commit/?id=579b5dcb76595729347d65ef63fc6994af67a47e
commit 579b5dcb76595729347d65ef63fc6994af67a47e Author: Mike Blumenkrantz <zm...@osg.samsung.com> Date: Tue Sep 8 16:55:21 2015 -0400 force-disable refocus during desk flip on client activation this prevents an infinite focus loop where focus will be constantly reapplied between multiple windows if the activated window is not the refocus window --- src/bin/e_client.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/bin/e_client.c b/src/bin/e_client.c index 40dd42b..4669c79 100644 --- a/src/bin/e_client.c +++ b/src/bin/e_client.c @@ -3566,7 +3566,15 @@ e_client_activate(E_Client *ec, Eina_Bool just_do_it) e_client_uniconify(ec); } if ((!ec->iconic) && (!ec->sticky)) - e_desk_show(ec->desk); + { + int val = e_config->focus_last_focused_per_desktop; + + /* prevent infinite focus loops during refocus */ + if (!ec->lock_focus_out) + e_config->focus_last_focused_per_desktop = 0; + e_desk_show(ec->desk); + e_config->focus_last_focused_per_desktop = val; + } if (!ec->lock_user_stacking) evas_object_raise(ec->frame); if (!ec->lock_focus_out) --