discomfitor pushed a commit to branch enlightenment-0.19.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=8fb7bb18bdcf26048f71cf1b242751c69c266e35

commit 8fb7bb18bdcf26048f71cf1b242751c69c266e35
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 c364b02..923e30d 100644
--- a/src/modules/winlist/e_winlist.c
+++ b/src/modules/winlist/e_winlist.c
@@ -279,6 +279,8 @@ e_winlist_hide(void)
      e_comp_ungrab_input(e_comp_get(NULL), 1, 1);
    if (ec)
      {
+        Eina_Bool set = !ec->lock_focus_out;
+
         if (ec->shaded)
           {
              if (!ec->lock_user_shade)
@@ -306,9 +308,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