raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=a14e0b8b3283ff4ac34f13258268326882e4b1ec
commit a14e0b8b3283ff4ac34f13258268326882e4b1ec Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com> Date: Tue Dec 23 15:11:18 2014 +0900 fix evas modules to never free eina module - fixes seg on shutdown in x this fixes T1946 --- src/lib/evas/file/evas_module.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/lib/evas/file/evas_module.c b/src/lib/evas/file/evas_module.c index db10d53..34b1205 100644 --- a/src/lib/evas/file/evas_module.c +++ b/src/lib/evas/file/evas_module.c @@ -619,7 +619,15 @@ evas_module_shutdown(void) evas_static_module[i].shutdown(); EINA_LIST_FREE(eina_evas_modules, en) - eina_module_free(en); + { +// yes - looks zstupid. just to keep compilers from complaining with warnings + if (!en) continue; +// NEVER FREE MODULES - they MAY be needed after shutdown - eg indirect func +// symbols from gl for example to shut down extensions. so yes - you may +// think this is a leak. technically it is, but it's needed to keep things +// running, so ignore this one +// eina_module_free(en); + } eina_hash_free(evas_modules[EVAS_MODULE_TYPE_ENGINE]); evas_modules[EVAS_MODULE_TYPE_ENGINE] = NULL; --