From f4527c72833f348fca875ef5ff70cf8aa6146f56 Mon Sep 17 00:00:00 2001 From: Cedric Bail Date: Wed, 23 Nov 2016 17:54:50 -0800 Subject: [PATCH] eo: when there is no more callbacks, let's clean up. --- src/lib/eo/eo_base_class.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/lib/eo/eo_base_class.c b/src/lib/eo/eo_base_class.c index 352cb8bb74..b6b486c935 100644 --- a/src/lib/eo/eo_base_class.c +++ b/src/lib/eo/eo_base_class.c @@ -1005,6 +1005,12 @@ _eo_callback_remove(Efl_Object_Data *pd, Eo_Callback_Description **cb) length = pd->callbacks_count - (cb - pd->callbacks); if (length > 1) memmove(cb, cb + 1, (length - 1) * sizeof (Eo_Callback_Description*)); pd->callbacks_count--; + + if (pd->callbacks_count == 0) + { + free(pd->callbacks); + pd->callbacks = NULL; + } } /* Actually remove, doesn't care about walking list, or delete_me */