discomfitor pushed a commit to branch master.

commit a6c1042e39c0a3b2d4420ab5e21cb56d1deb8a29
Author: Mike Blumenkrantz <[email protected]>
Date:   Thu May 2 08:04:28 2013 +0100

    add free callback to size debugging
---
 src/bin/e_utils.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/src/bin/e_utils.c b/src/bin/e_utils.c
index 480c30d..79fcd8f 100644
--- a/src/bin/e_utils.c
+++ b/src/bin/e_utils.c
@@ -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);
      }
 }
 

-- 

------------------------------------------------------------------------------
Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET
Get 100% visibility into your production application - at no cost.
Code-level diagnostics for performance bottlenecks with <2% overhead
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap1

Reply via email to