summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2017-09-26 14:09:14 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2017-09-26 17:58:07 +0900
commitf3c9d25c1f9b0172194fa0c451620b633aa75513 (patch)
tree69eea0f4394e8e34a8366788c261ab0d63bdee9b
parentc2ae93089b6f40b59e49e8e24c81fa650047e89e (diff)
downloadefl-f3c9d25c1f9b0172194fa0c451620b633aa75513.tar.gz
elm: Properly unregister providers on shutdown
This should fix some errors in make check with CK_FORK=no Test: <efl/build>/src$ CK_FORK=no ./tests/elementary/elm_suite elm_config @fix
-rw-r--r--src/lib/eio/eio_main.c1
-rw-r--r--src/lib/elementary/elm_config.c4
2 files changed, 3 insertions, 2 deletions
diff --git a/src/lib/eio/eio_main.c b/src/lib/eio/eio_main.c
index 4716ea63f4..e2a2b03925 100644
--- a/src/lib/eio/eio_main.c
+++ b/src/lib/eio/eio_main.c
@@ -358,6 +358,7 @@ eio_shutdown(void)
EINA_LOG_STATE_START,
EINA_LOG_STATE_SHUTDOWN);
+ efl_loop_unregister(ecore_main_loop_get(), EFL_IO_MANAGER_CLASS, io_manager);
efl_del(io_manager);
io_manager = NULL;
diff --git a/src/lib/elementary/elm_config.c b/src/lib/elementary/elm_config.c
index f7a43e2c86..6c8d53bcfd 100644
--- a/src/lib/elementary/elm_config.c
+++ b/src/lib/elementary/elm_config.c
@@ -4352,8 +4352,8 @@ void
_elm_config_shutdown(void)
{
efl_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);
+ efl_loop_unregister(ecore_main_loop_get(), EFL_CONFIG_INTERFACE, _efl_config_obj);
+ efl_loop_unregister(ecore_main_loop_get(), EFL_CONFIG_GLOBAL_CLASS, _efl_config_obj);
ELM_SAFE_FREE(_efl_config_obj, efl_del);
ELM_SAFE_FREE(_elm_config, _config_free);
ELM_SAFE_FREE(_elm_preferred_engine, eina_stringshare_del);