This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch master
in repository enlightenment.

View the commit online.

commit 1a58e0e582a81a3338f494a941e9cb4ae6d4d5c8
Author: Carsten Haitzler <[email protected]>
AuthorDate: Sun Nov 6 08:32:34 2022 +0000

    procstats - delete callbacks when client is deleted
    
    evas object may still be around and call callbacks still registered
    when client sis del'd - so remove callback in client delete in
    procstats.
    
    @fix.
---
 src/modules/procstats/e_mod_main.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/modules/procstats/e_mod_main.c b/src/modules/procstats/e_mod_main.c
index 2d58d71a7..06611acb7 100644
--- a/src/modules/procstats/e_mod_main.c
+++ b/src/modules/procstats/e_mod_main.c
@@ -37,6 +37,10 @@ typedef struct
    Eina_Bool       was_maximized;
 } Proc_Stats_Client;
 
+static void _proc_stats_client_move_cb(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED);
+static void _proc_stats_client_resize_cb(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED);
+static void _proc_stats_icon_clicked_cb(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info);
+
 static void       _proc_stats_client_add(E_Client *ec);
 static void       _proc_stats_client_display_update(Proc_Stats_Client *client);
 static void       _proc_stats_client_remove(Proc_Stats_Client *client);
@@ -118,6 +122,9 @@ _proc_stats_client_exists(E_Client *ec)
 static void
 _proc_stats_client_del(Proc_Stats_Client *client)
 {
+   evas_object_event_callback_del_full(client->obj, EVAS_CALLBACK_MOVE, _proc_stats_client_move_cb, client);
+   evas_object_event_callback_del_full(client->obj, EVAS_CALLBACK_MOUSE_UP, _proc_stats_icon_clicked_cb, client);
+   evas_object_event_callback_del_full(client->frame_obj, EVAS_CALLBACK_RESIZE, _proc_stats_client_resize_cb, client);
    _proc_stats_client_popup_del(client);
    edje_object_signal_emit(client->frame_obj, "e,state,procstats,off", "e");
    evas_object_del(client->obj);

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.

Reply via email to