discomfitor pushed a commit to branch master.
commit 38615a27d43cac5111fdcf6c30abce38868e0750
Author: Mike Blumenkrantz <[email protected]>
Date: Mon Jun 10 13:34:04 2013 +0100
fix a crazy fileman bug where calculating the size of the tooltip would
cause a mouse out event on the icon, deleting the tooltip while it was being
created
---
src/modules/fileman/e_fwin.c | 17 ++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)
diff --git a/src/modules/fileman/e_fwin.c b/src/modules/fileman/e_fwin.c
index 5f3133e..c6af440 100644
--- a/src/modules/fileman/e_fwin.c
+++ b/src/modules/fileman/e_fwin.c
@@ -41,6 +41,7 @@ struct _E_Fwin
const char *theme_file;
Ecore_Timer *popup_timer;
+ Ecore_Timer *popup_del_job;
Eina_List *popup_handlers;
E_Fm2_Icon_Info *popup_icon;
E_Popup *popup;
@@ -740,6 +741,7 @@ _e_fwin_free(E_Fwin *fwin)
e_object_del(E_OBJECT(fwin->fad->dia));
fwin->fad = NULL;
}
+ if (fwin->popup_del_job) ecore_job_del(fwin->popup_del_job);
if (fwin->popup) e_object_del(E_OBJECT(fwin->popup));
if (fwin->popup_timer) ecore_timer_del(fwin->popup_timer);
fwin->popup_timer = NULL;
@@ -863,15 +865,20 @@ _e_fwin_icon_popup(void *data)
}
static void
+_e_fwin_icon_popup_del(E_Fwin *fwin)
+{
+ E_FREE_FUNC(fwin->popup, e_object_del);
+ fwin->popup_icon = NULL;
+ fwin->popup_del_job = NULL;
+}
+
+static void
_e_fwin_icon_mouse_out(void *data, Evas_Object *obj __UNUSED__, void
*event_info __UNUSED__)
{
E_Fwin *fwin = data;
- if (fwin->popup_timer) ecore_timer_del(fwin->popup_timer);
- if (fwin->popup) e_object_del(E_OBJECT(fwin->popup));
- fwin->popup = NULL;
- fwin->popup_timer = NULL;
- fwin->popup_icon = NULL;
+ E_FREE_FUNC(fwin->popup_timer, ecore_timer_del);
+ if (!fwin->popup_del_job) fwin->popup_del_job =
ecore_job_add((Ecore_Cb)_e_fwin_icon_popup_del, fwin);
}
static void
--
------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. A cloud service to automate IT design, transition and operations
2. Dashboards that offer high-level views of enterprise services
3. A single system of record for all IT processes
http://p.sf.net/sfu/servicenow-d2d-j