jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=868dc1ba2b2d23e0310ec8a7a861e0aa4157e06b
commit 868dc1ba2b2d23e0310ec8a7a861e0aa4157e06b Author: Jean-Philippe Andre <jp.an...@samsung.com> Date: Thu Jun 23 21:55:58 2016 +0900 config: Prevent accidental deletion of the config object --- src/lib/elementary/elm_config.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/lib/elementary/elm_config.c b/src/lib/elementary/elm_config.c index d14aee8..204ee34 100644 --- a/src/lib/elementary/elm_config.c +++ b/src/lib/elementary/elm_config.c @@ -1680,11 +1680,18 @@ _config_system_load(void) } static void +_efl_config_obj_del(Eo *obj EINA_UNUSED) +{ + ERR("You can not delete the global configuration object!"); +} + +static void _config_load(void) { _efl_config_obj = eo_add(EFL_CONFIG_GLOBAL_CLASS, NULL); efl_loop_register(ecore_main_loop_get(), EFL_CONFIG_INTERFACE, _efl_config_obj); efl_loop_register(ecore_main_loop_get(), EFL_CONFIG_GLOBAL_CLASS, _efl_config_obj); + eo_del_intercept_set(_efl_config_obj, _efl_config_obj_del); _elm_config = _config_user_load(); if (_elm_config) { @@ -4243,6 +4250,7 @@ _elm_config_profile_set(const char *profile) void _elm_config_shutdown(void) { + eo_del_intercept_set(_efl_config_obj, NULL); efl_loop_register(ecore_main_loop_get(), EFL_CONFIG_INTERFACE, NULL); efl_loop_register(ecore_main_loop_get(), EFL_CONFIG_GLOBAL_CLASS, NULL); ELM_SAFE_FREE(_efl_config_obj, eo_del); --