summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2014-12-23 15:11:18 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2014-12-23 15:11:18 +0900
commita14e0b8b3283ff4ac34f13258268326882e4b1ec (patch)
tree6b43d1a5775f26c812befa7f10e2c56de809ac18 /src/lib
parent20ddb3929c265837531435b809139e3bb26f44af (diff)
fix evas modules to never free eina module - fixes seg on shutdown in x
this fixes T1946
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/evas/file/evas_module.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/lib/evas/file/evas_module.c b/src/lib/evas/file/evas_module.c
index db10d538e5..34b1205dbf 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)
619 evas_static_module[i].shutdown(); 619 evas_static_module[i].shutdown();
620 620
621 EINA_LIST_FREE(eina_evas_modules, en) 621 EINA_LIST_FREE(eina_evas_modules, en)
622 eina_module_free(en); 622 {
623// yes - looks zstupid. just to keep compilers from complaining with warnings
624 if (!en) continue;
625// NEVER FREE MODULES - they MAY be needed after shutdown - eg indirect func
626// symbols from gl for example to shut down extensions. so yes - you may
627// think this is a leak. technically it is, but it's needed to keep things
628// running, so ignore this one
629// eina_module_free(en);
630 }
623 631
624 eina_hash_free(evas_modules[EVAS_MODULE_TYPE_ENGINE]); 632 eina_hash_free(evas_modules[EVAS_MODULE_TYPE_ENGINE]);
625 evas_modules[EVAS_MODULE_TYPE_ENGINE] = NULL; 633 evas_modules[EVAS_MODULE_TYPE_ENGINE] = NULL;