discomfitor pushed a commit to branch master.

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

commit e115cbc906af34def94b3fd72130cfd6aa97a8ee
Author: Mike Blumenkrantz <[email protected]>
Date:   Wed Jan 22 22:11:47 2014 -0500

    reset focus to last focused client upon closing an autoclose object
---
 src/bin/e_comp_object.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c
index 42cea7d..b2d76e7 100644
--- a/src/bin/e_comp_object.c
+++ b/src/bin/e_comp_object.c
@@ -3369,8 +3369,18 @@ _e_comp_object_autoclose_show(void *data EINA_UNUSED, 
Evas *e EINA_UNUSED, Evas_
 static void
 _e_comp_object_autoclose_del(void *data, Evas *e EINA_UNUSED, Evas_Object 
*obj, void *event_info EINA_UNUSED)
 {
+   E_Client *ec;
+   Eina_List *l;
+
    evas_object_event_callback_del(obj, EVAS_CALLBACK_SHOW, 
_e_comp_object_autoclose_show);
    _e_comp_object_autoclose_cleanup(data, 1);
+   if (e_client_focused_get()) return;
+   EINA_LIST_FOREACH(e_client_focus_stack_get(), l, ec)
+     if (ec->desk && ec->desk->visible)
+       {
+          evas_object_focus_set(ec->frame, 1);
+          break;
+       }
 }
 
 EAPI void

-- 


Reply via email to