add free callback to size debugging
authorMike Blumenkrantz <m.blumenkran@samsung.com>
Thu, 2 May 2013 07:04:28 +0000 (08:04 +0100)
committerMike Blumenkrantz <m.blumenkran@samsung.com>
Thu, 2 May 2013 07:04:53 +0000 (08:04 +0100)
src/bin/e_utils.c

index 480c30d..79fcd8f 100644 (file)
@@ -1323,6 +1323,17 @@ e_util_time_str_get(long int seconds)
 }
 
 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__)
 {
    int x, y, w, h;
@@ -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);
      }
 }