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.

Reply via email to