add free callback to size debugging

This commit is contained in:
Mike Blumenkrantz 2013-05-02 08:04:28 +01:00
parent 4df2ff56f5
commit a6c1042e39
1 changed files with 15 additions and 0 deletions

View File

@ -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);
}
}