summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Hollerbach <mail@marcel-hollerbach.de>2018-06-19 13:36:04 -0400
committerMike Blumenkrantz <zmike@samsung.com>2018-06-19 13:36:04 -0400
commit42018930487c37563745e86c75a1e7816a81fd41 (patch)
tree7a554b87acdcba9452f6021aa7ed060d51c196d3
parent6e46950169bf1a45658af302317f0b0eaa4ad93d (diff)
downloadefl-42018930487c37563745e86c75a1e7816a81fd41.tar.gz
eo: make the debug build print leaked errors
Summary: Depends on D6328 Reviewers: devilhorns, zmike Reviewed By: zmike Subscribers: cedric, #committers, zmike Tags: #efl Differential Revision: https://phab.enlightenment.org/D6329
-rw-r--r--src/lib/eo/eo.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/lib/eo/eo.c b/src/lib/eo/eo.c
index 6dbd66be64..680dc1f016 100644
--- a/src/lib/eo/eo.c
+++ b/src/lib/eo/eo.c
@@ -2330,6 +2330,22 @@ efl_object_shutdown(void)
if (--_efl_object_init_count > 0)
return EINA_TRUE;
+#ifdef EO_DEBUG
+ {
+ Efl_Object *obj;
+ Eina_Iterator *objects;
+ objects = eo_objects_iterator_new();
+ printf("Objects leaked by EO:\n");
+ printf("class@pointer - user-refcount internal-refcount\n");
+ EINA_ITERATOR_FOREACH(objects, obj)
+ {
+ printf("%s@%p - %d %d \n", efl_class_name_get(obj), obj, efl_ref_count(obj), ___efl_ref2_count(obj));
+ }
+ eina_iterator_free(objects);
+ }
+#endif
+
+
eina_log_timing(_eo_log_dom,
EINA_LOG_STATE_START,
EINA_LOG_STATE_SHUTDOWN);