diff --git a/legacy/edje/src/lib/edje_data.c b/legacy/edje/src/lib/edje_data.c index ac9a5a0b96..28fe86df69 100644 --- a/legacy/edje/src/lib/edje_data.c +++ b/legacy/edje/src/lib/edje_data.c @@ -57,7 +57,6 @@ Eet_Data_Descriptor *_edje_edd_edje_external_param = NULL; \ data = eina_mempool_malloc(_emp_##Type, size); \ memset(data, 0, size); \ - \ return data; \ } \ \ diff --git a/legacy/edje/src/lib/edje_load.c b/legacy/edje/src/lib/edje_load.c index c51220ca7f..f20951d6a5 100644 --- a/legacy/edje/src/lib/edje_load.c +++ b/legacy/edje/src/lib/edje_load.c @@ -1181,6 +1181,10 @@ _edje_collection_free(Edje_File *edf, Edje_Part_Collection *ec, Edje_Part_Collec free(ep->other.desc); free(ep->items); +// technically need this - but we ASSUME we use "one_big" so everything gets +// freed in one go lower down when we del the mempool... but what if pool goes +// "over"? + eina_mempool_free(ce->mp.part, ep); } free(ec->parts); ec->parts = NULL;