diff --git a/src/bin/e_utils.c b/src/bin/e_utils.c index 480c30dfd..79fcd8f0f 100644 --- a/src/bin/e_utils.c +++ b/src/bin/e_utils.c @@ -1322,6 +1322,17 @@ e_util_time_str_get(long int seconds) return buf; } +static void +_e_util_size_debug_free(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__) +{ + int x, y, w, h; + const char *name; + + evas_object_geometry_get(obj, &x, &y, &w, &h); + name = evas_object_name_get(obj); + fprintf(stderr, "FREE %s OBJ[%s%s%p]: (%d,%d) - %dx%d\n", evas_object_visible_get(obj) ? "VIS" : "HID", name ?: "", name ? "|" : "", obj, x, y, w, h); +} + static void _e_util_size_debug_del(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__) { @@ -1359,6 +1370,8 @@ e_util_size_debug_set(Evas_Object *obj, Eina_Bool enable) _e_util_size_debug, NULL); evas_object_event_callback_add(obj, EVAS_CALLBACK_DEL, _e_util_size_debug_del, NULL); + evas_object_event_callback_add(obj, EVAS_CALLBACK_FREE, + _e_util_size_debug_free, NULL); } else { @@ -1372,6 +1385,8 @@ e_util_size_debug_set(Evas_Object *obj, Eina_Bool enable) _e_util_size_debug, NULL); evas_object_event_callback_del_full(obj, EVAS_CALLBACK_DEL, _e_util_size_debug_del, NULL); + evas_object_event_callback_del_full(obj, EVAS_CALLBACK_FREE, + _e_util_size_debug_free, NULL); } }