raster pushed a commit to branch efl-1.18. http://git.enlightenment.org/core/efl.git/commit/?id=2e139a874711e58dad34c1b41fc5ce507989eff1
commit 2e139a874711e58dad34c1b41fc5ce507989eff1 Author: Carsten Haitzler (Rasterman) <[email protected]> Date: Sun Aug 21 11:30:45 2016 +0900 edje - fix missing vector field frees, copies, handling etc. it seems vector type parts were not handled all that well. we had at least one mem leak with the vector mempool never being freed... so i filled in various missing points where vector parts were not being handled right. @fix --- src/lib/edje/edje_cache.c | 1 + src/lib/edje/edje_calc.c | 1 + src/lib/edje/edje_data.c | 2 +- src/lib/edje/edje_embryo.c | 1 + 4 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lib/edje/edje_cache.c b/src/lib/edje/edje_cache.c index 42ed166..0f36d6d 100644 --- a/src/lib/edje/edje_cache.c +++ b/src/lib/edje/edje_cache.c @@ -79,6 +79,7 @@ edje_cache_emp_free(Edje_Part_Collection_Directory_Entry *ce) eina_mempool_del(ce->mp_rtl.MESH_NODE); eina_mempool_del(ce->mp_rtl.LIGHT); eina_mempool_del(ce->mp_rtl.CAMERA); + eina_mempool_del(ce->mp_rtl.VECTOR); memset(&ce->mp_rtl, 0, sizeof (ce->mp_rtl)); ce->ref = NULL; } diff --git a/src/lib/edje/edje_calc.c b/src/lib/edje/edje_calc.c index 64db709..d3e8a4f 100644 --- a/src/lib/edje/edje_calc.c +++ b/src/lib/edje/edje_calc.c @@ -309,6 +309,7 @@ case EDJE_PART_TYPE_##Short: \ POPULATE_MEMSIZE_RTL(CAMERA, Camera); POPULATE_MEMSIZE_RTL(LIGHT, Light); POPULATE_MEMSIZE_RTL(MESH_NODE, Mesh_Node); + POPULATE_MEMSIZE_RTL(VECTOR, Vector); } #undef POPULATE_MEMSIZE_RTL diff --git a/src/lib/edje/edje_data.c b/src/lib/edje/edje_data.c index b5e7b7f..983820b 100644 --- a/src/lib/edje/edje_data.c +++ b/src/lib/edje/edje_data.c @@ -936,9 +936,9 @@ _edje_edd_init(void) EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.MESH_NODE", count.MESH_NODE, EET_T_INT); EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.LIGHT", count.LIGHT, EET_T_INT); EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.CAMERA", count.CAMERA, EET_T_INT); + EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.VECTOR", count.VECTOR, EET_T_INT); EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.part", count.part, EET_T_INT); EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "group_alias", group_alias, EET_T_UCHAR); - EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.VECTOR", count.VECTOR, EET_T_INT); EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Style_Tag); _edje_edd_edje_style_tag = diff --git a/src/lib/edje/edje_embryo.c b/src/lib/edje/edje_embryo.c index f7eeab6..993ae6a 100644 --- a/src/lib/edje/edje_embryo.c +++ b/src/lib/edje/edje_embryo.c @@ -2110,6 +2110,7 @@ case EDJE_PART_TYPE_##Short: \ ALLOC_COPY_DESC(BOX, Box, d, box); ALLOC_COPY_DESC(TABLE, Table, d, table); ALLOC_COPY_DESC(EXTERNAL, External, d, external_params); + ALLOC_COPY_DESC(VECTOR, Vector, d, vg); } if (!d) return 0; --
