discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=953b80f8efe7dc86140e6c16578b663784b7db44

commit 953b80f8efe7dc86140e6c16578b663784b7db44
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Wed Jul 15 14:47:35 2015 -0400

    ensure that focus is set and focus stack is managed on winlist hide
    
    if pointer warping is disabled, attempting to pointer warp with mouse-based
    focus policies will fail here, preventing focus from being applied as 
expected
    
    ref T2566
---
 src/modules/winlist/e_winlist.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/modules/winlist/e_winlist.c b/src/modules/winlist/e_winlist.c
index 730c909..b459400 100644
--- a/src/modules/winlist/e_winlist.c
+++ b/src/modules/winlist/e_winlist.c
@@ -277,6 +277,8 @@ e_winlist_hide(void)
      e_comp_ungrab_input(1, 1);
    if (ec)
      {
+        Eina_Bool set = !ec->lock_focus_out;
+
         if (ec->shaded)
           {
              if (!ec->lock_user_shade)
@@ -304,9 +306,9 @@ e_winlist_hide(void)
             (e_config->winlist_warp_at_end) ||
             (e_config->winlist_warp_while_selecting))
           {
-             e_client_pointer_warp_to_center_now(ec);
+             set |= !e_client_pointer_warp_to_center_now(ec);
           }
-        else if (!ec->lock_focus_out)
+        if (set)
           {
              evas_object_focus_set(ec->frame, 1);
              e_client_focus_latest_set(ec);

-- 


Reply via email to