rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=0b2f0207fcaa59abcf6d68e7bbe3c2b15d5eee05
commit 0b2f0207fcaa59abcf6d68e7bbe3c2b15d5eee05 Author: Vitalii Vorobiov <[email protected]> Date: Wed Aug 31 18:12:55 2016 +0300 resource_manager2: clean up top level resources on shutdown project --- src/bin/project_manager/resource_manager2.c | 49 +++++++++++++++++++++++++++-- 1 file changed, 47 insertions(+), 2 deletions(-) diff --git a/src/bin/project_manager/resource_manager2.c b/src/bin/project_manager/resource_manager2.c index f0f9049..85c05cc 100644 --- a/src/bin/project_manager/resource_manager2.c +++ b/src/bin/project_manager/resource_manager2.c @@ -923,8 +923,53 @@ resource_manager_init(Project *project) return false; } +void +_resource_free(Resource2 *res) +{ + eina_stringshare_del(res->common.name); + eina_list_free(res->common.used_in); + eina_list_free(res->common.uses___); + free(res); +} + Eina_Bool -resource_manager_shutdown(Project *project __UNUSED__) +resource_manager_shutdown(Project *pro) { - return false; + Resource2 *res; + Image2 *res_image; + Sound2 *res_sound; + Font2 *res_font; + Global_Data2 *res_data; + + /* image_set */ + EINA_LIST_FREE(pro->image_sets, res) + _resource_free(res); + EINA_LIST_FREE(pro->tones, res) + _resource_free(res); + EINA_LIST_FREE(pro->colorclasses, res) + _resource_free(res); + EINA_LIST_FREE(pro->styles, res) + _resource_free(res); + + EINA_LIST_FREE(pro->images, res_image) + { + eina_stringshare_del(res_image->source); + _resource_free((Resource2 *)res_image); + } + EINA_LIST_FREE(pro->sounds, res_sound) + { + eina_stringshare_del(res_sound->source); + _resource_free((Resource2 *)res_sound); + } + EINA_LIST_FREE(pro->fonts, res_font) + { + eina_stringshare_del(res_font->source); + _resource_free((Resource2 *)res_font); + } + EINA_LIST_FREE(pro->global_data, res_data) + { + eina_stringshare_del(res_data->source); + _resource_free((Resource2 *)res_data); + } + return true; } --
