This is an automated email from the git hooks/post-receive script.
git pushed a commit to branch master
in repository enlightenment-module-places.
View the commit online.
commit 3a8554ee9403cab0e122d8913d10d86963f47b39
Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com>
AuthorDate: Sun Mar 24 13:01:39 2024 +0000
fix menu tracking + E_API
1. uses EAPI - this was efl's symbol visibility macro. e used E_API...
so use it
2. don't track menu - gadcon does that for you. fixed crash/mem access
bug as gadcon owns this menu not the module.
---
src/e_mod_main.c | 32 +++++---------------------------
src/e_mod_main.h | 1 -
2 files changed, 5 insertions(+), 28 deletions(-)
diff --git a/src/e_mod_main.c b/src/e_mod_main.c
index da267cd..7db9dab 100644
--- a/src/e_mod_main.c
+++ b/src/e_mod_main.c
@@ -18,7 +18,6 @@ static Eina_Bool _places_conf_timer(void *data);
static Config_Item *_places_conf_item_get(const char *id);
static void _places_icon_cb_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event);
static void _places_cb_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event);
-static void _places_cb_menu_post(void *data, E_Menu *menu);
static void _places_cb_menu_configure(void *data, E_Menu *mn, E_Menu_Item *mi);
/* Local Variables */
@@ -37,10 +36,10 @@ static const E_Gadcon_Client_Class _gc_class =
E_GADCON_CLIENT_STYLE_PLAIN
};
-EAPI E_Module_Api e_modapi = {E_MODULE_API_VERSION, "Places"};
+E_API E_Module_Api e_modapi = {E_MODULE_API_VERSION, "Places"};
/* Module Functions */
-EAPI void *
+E_API void *
e_modapi_init(E_Module *m)
{
char buf[PATH_MAX];
@@ -142,7 +141,7 @@ e_modapi_init(E_Module *m)
return m;
}
-EAPI int
+E_API int
e_modapi_shutdown(E_Module *m)
{
places_shutdown();
@@ -172,7 +171,7 @@ e_modapi_shutdown(E_Module *m)
return 1;
}
-EAPI int
+E_API int
e_modapi_save(E_Module *m)
{
e_config_domain_save("module.places", conf_edd, places_conf);
@@ -232,13 +231,6 @@ _gc_shutdown(E_Gadcon_Client *gcc)
if (!(inst = gcc->data)) return;
instances = eina_list_remove(instances, inst);
- if (inst->menu)
- {
- e_menu_post_deactivate_callback_set(inst->menu, NULL, NULL);
- e_object_del(E_OBJECT(inst->menu));
- inst->menu = NULL;
- }
-
if (inst->o_main)
{
evas_object_event_callback_del(inst->o_main, EVAS_CALLBACK_MOUSE_DOWN,
@@ -516,7 +508,7 @@ _places_cb_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event)
if (!(inst = data)) return;
ev = event;
- if ((ev->button == 3) && (!inst->menu))
+ if (ev->button == 3)
{
E_Menu *m;
@@ -530,9 +522,6 @@ _places_cb_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event)
/* Each Gadget Client has a utility menu from the Container */
m = e_gadcon_client_util_menu_items_append(inst->gcc, m, 0);
- e_menu_post_deactivate_callback_set(m, _places_cb_menu_post, inst);
- inst->menu = m;
-
e_gadcon_canvas_zone_geometry_get(inst->gcc->gadcon, &x, &y,
NULL, NULL);
@@ -546,17 +535,6 @@ _places_cb_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event)
}
}
-static void
-_places_cb_menu_post(void *data, E_Menu *menu)
-{
- Instance *inst = NULL;
-
- if (!(inst = data)) return;
- if (!inst->menu) return;
- e_object_del(E_OBJECT(inst->menu));
- inst->menu = NULL;
-}
-
static void
_places_cb_menu_configure(void *data, E_Menu *mn, E_Menu_Item *mi)
{
diff --git a/src/e_mod_main.h b/src/e_mod_main.h
index 5ff68d1..2895c9d 100644
--- a/src/e_mod_main.h
+++ b/src/e_mod_main.h
@@ -75,7 +75,6 @@ struct _Instance
Evas_Object *o_icon;
E_Gadcon_Popup *popup;
Eina_Bool horiz;
- E_Menu *menu;
Config_Item *conf_item;
};
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.