discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=4bf4fb69edc9a06ef18891260a98c31cc7f42e34

commit 4bf4fb69edc9a06ef18891260a98c31cc7f42e34
Author: Mike Blumenkrantz <zm...@samsung.com>
Date:   Thu Feb 20 11:40:30 2014 -0500

    check focus reset after comp input ungrab
---
 src/bin/e_comp.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c
index 66c286f..a6b1d13 100644
--- a/src/bin/e_comp.c
+++ b/src/bin/e_comp.c
@@ -1748,6 +1748,8 @@ EAPI void
 e_comp_ungrab_input(E_Comp *c, Eina_Bool mouse, Eina_Bool kbd)
 {
    Ecore_Window mwin = 0, kwin = 0;
+   Eina_List *l;
+   E_Client *ec;
 
    mouse = !!mouse;
    kbd = !!kbd;
@@ -1763,6 +1765,14 @@ e_comp_ungrab_input(E_Comp *c, Eina_Bool mouse, 
Eina_Bool kbd)
    e_grabinput_release(mwin, kwin);
    evas_event_feed_mouse_out(c->evas, 0, NULL);
    evas_event_feed_mouse_in(c->evas, 0, NULL);
+   if (e_client_focused_get()) return;
+   EINA_LIST_FOREACH(e_client_focus_stack_get(), l, ec)
+     if (ec->desk && ec->desk->visible && (!ec->iconic))
+       {
+          if (ec->comp->input_key_grabs || ec->comp->input_mouse_grabs) break;
+          evas_object_focus_set(ec->frame, 1);
+          break;
+       }
 }
 
 EAPI void

-- 


Reply via email to