raster pushed a commit to branch master.

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

commit dd61dc4c6b4db9abb618ea2a6bb7b470fafbc40a
Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com>
Date:   Wed Apr 21 11:04:29 2021 +0100

    tasks - fix focus mess with preview popup so focus stays where it is
---
 src/modules/tasks/e_mod_main.c | 31 ++++++++++---------------------
 1 file changed, 10 insertions(+), 21 deletions(-)

diff --git a/src/modules/tasks/e_mod_main.c b/src/modules/tasks/e_mod_main.c
index 3a4cf3bc1..acb3f670c 100644
--- a/src/modules/tasks/e_mod_main.c
+++ b/src/modules/tasks/e_mod_main.c
@@ -963,6 +963,9 @@ _tasks_item_preview_add(Tasks_Item *item)
    evas_object_geometry_get(item->o_item, &ox, &oy, &ow, &oh);
 
    item->o_preview = o = elm_ctxpopup_add(e_comp->elm);
+   evas_object_pass_events_set(o, EINA_TRUE);
+   elm_object_focus_allow_set(o, EINA_FALSE);
+   elm_object_tree_focus_allow_set(o, EINA_FALSE);
    elm_object_style_set(o, "noblock");
    evas_object_layer_set(o, E_LAYER_POPUP);
 
@@ -1040,43 +1043,29 @@ _tasks_item_preview_add(Tasks_Item *item)
 static void
 _tasks_cb_item_mouse_in(void *data, Evas *e EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_info EINA_UNUSED)
 {
-   Tasks_Item *item;
-   E_Client *ec;
+   Tasks_Item *item = data;
    Eina_Bool show;
 
-   item = data;
-
    if (!item->tasks->config->preview) return;
 
    show = !item->iconifying;
-   if ((item->tasks->gcc->gadcon->shelf) && 
(item->tasks->gcc->gadcon->shelf->hide_animator))
+   if ((item->tasks->gcc->gadcon->shelf) &&
+       (item->tasks->gcc->gadcon->shelf->hide_animator))
      show = 0;
 
-   ec = e_client_focused_get();
-
-   if (show)
-     _tasks_item_preview_add(item);
-
-   if (ec)
-     evas_object_focus_set(ec->frame, 1);
+   if (show) _tasks_item_preview_add(item);
 }
 
 static void
 _tasks_cb_item_mouse_out(void *data, Evas *e EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_info EINA_UNUSED)
 {
-   Tasks_Item *item;
-   E_Client *ec = e_client_focused_get();
-
-   item = data;
+   Tasks_Item *item = data;
 
    if (item->o_preview)
      {
-       elm_ctxpopup_dismiss(item->o_preview);
-       item->timer = ecore_timer_add(1.0, _tasks_cb_timer_del, item);
+        elm_ctxpopup_dismiss(item->o_preview);
+        item->timer = ecore_timer_add(1.0, _tasks_cb_timer_del, item);
      }
-
-  if (ec)
-    evas_object_focus_set(ec->frame, 1);
 }
 
 static void

-- 


Reply via email to