netstar pushed a commit to branch master.

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

commit 728a04274b64b045fb555214601b852ba3a6d0de
Author: Alastair Poole <[email protected]>
Date:   Tue Aug 25 17:40:02 2020 +0100

    tasks: make sure popup goes away.
    
    Playing around with steam/optimus/linux/multiple heads the popup
    stuck around when i did something very unusual, so make sure it
    goes...trust me i'm a professional....
---
 src/modules/tasks/e_mod_main.c | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/src/modules/tasks/e_mod_main.c b/src/modules/tasks/e_mod_main.c
index 7e666b5c5..5657ac9e9 100644
--- a/src/modules/tasks/e_mod_main.c
+++ b/src/modules/tasks/e_mod_main.c
@@ -82,6 +82,7 @@ static void         _tasks_cb_item_mouse_up(void *data, Evas 
*e, Evas_Object *ob
 static void         _tasks_cb_item_mouse_wheel(void *data, Evas *e 
EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info);
 static void         _tasks_cb_item_mouse_in(void *data, Evas *e EINA_UNUSED, 
Evas_Object *obj EINA_UNUSED, void *event_info);
 static void         _tasks_cb_item_mouse_out(void *data, Evas *e EINA_UNUSED, 
Evas_Object *obj EINA_UNUSED, void *event_info);
+static void         _tasks_cb_item_del(void *data, Evas *e EINA_UNUSED, 
Evas_Object *obj EINA_UNUSED, void *event_info);
 
 static Eina_Bool    _tasks_cb_event_client_add(void *data, int type, void 
*event);
 static Eina_Bool    _tasks_cb_event_client_remove(void *data, int type, void 
*event);
@@ -584,6 +585,8 @@ _tasks_item_new(Tasks *tasks, E_Client *ec)
                                   _tasks_cb_item_mouse_in, item);
    evas_object_event_callback_add(item->o_item, EVAS_CALLBACK_MOUSE_OUT,
                                   _tasks_cb_item_mouse_out, item);
+   evas_object_event_callback_add(item->o_item, EVAS_CALLBACK_DEL,
+                                  _tasks_cb_item_del, item);
    evas_object_show(item->o_item);
 
    _tasks_item_fill(item);
@@ -806,6 +809,14 @@ _tasks_cb_menu_configure(void *data, E_Menu *m 
EINA_UNUSED, E_Menu_Item *mi EINA
    _config_tasks_module(tasks->config);
 }
 
+static void
+_tasks_cb_item_del(void *data, Evas *e EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_info EINA_UNUSED)
+{
+   Tasks_Item *item = data;
+
+   _tasks_item_preview_del(item);
+}
+
 static void
 _tasks_cb_item_mouse_down(void *data, Evas *e EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_info)
 {
@@ -861,7 +872,8 @@ _tasks_cb_timer_del(void *data)
 {
    Tasks_Item *item = data;
 
-   evas_object_del(item->o_preview);
+   if (item->o_preview)
+     evas_object_del(item->o_preview);
    if (item->timer)
      ecore_timer_del(item->timer);
    item->timer = item->o_preview = NULL;

-- 


Reply via email to