elm config - dont leak config if re-loading it again later on

delete config object and so on before the relaod
This commit is contained in:
Carsten Haitzler 2018-04-02 16:46:55 +09:00
parent 08dc189053
commit cffb31f4a7
1 changed files with 13 additions and 0 deletions

View File

@ -1665,6 +1665,19 @@ _efl_config_obj_del(Eo *obj EINA_UNUSED)
static void
_config_load(void)
{
if (_efl_config_obj)
{
efl_del_intercept_set(_efl_config_obj, NULL);
efl_loop_unregister(efl_main_loop_get(), EFL_CONFIG_INTERFACE, _efl_config_obj);
efl_loop_unregister(efl_main_loop_get(), EFL_CONFIG_GLOBAL_CLASS, _efl_config_obj);
ELM_SAFE_FREE(_efl_config_obj, efl_unref);
ELM_SAFE_FREE(_elm_config, _config_free);
_elm_font_overlays_del_free();
_elm_config_profile_derived_shutdown();
ELM_SAFE_FREE(_elm_key_bindings, eina_hash_free);
}
_efl_config_obj = efl_add(EFL_CONFIG_GLOBAL_CLASS, efl_main_loop_get());
efl_loop_register(efl_main_loop_get(), EFL_CONFIG_INTERFACE, _efl_config_obj);
efl_loop_register(efl_main_loop_get(), EFL_CONFIG_GLOBAL_CLASS, _efl_config_obj);