summaryrefslogtreecommitdiff
path: root/src/lib/evas
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2015-12-12 23:37:16 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2015-12-12 23:37:16 +0900
commit22869bb94ee6ae30432596d7472220f300d5f438 (patch)
tree3bd9d31dbecbbbcb613dcd111ae4922137d429bb /src/lib/evas
parent0848792204d47b5fb6d84793ff79ec9309e668d3 (diff)
evas - fix evas module locks to init/del when movile created/destroyed
we initted when we load and unload. this led to races with locking/unlocking elsewhere as these expected us to be initted and we were not yet. this fixes that! @fix
Diffstat (limited to '')
-rw-r--r--src/lib/evas/file/evas_module.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lib/evas/file/evas_module.c b/src/lib/evas/file/evas_module.c
index bafc6e7261..cda2dafe69 100644
--- a/src/lib/evas/file/evas_module.c
+++ b/src/lib/evas/file/evas_module.c
@@ -304,6 +304,7 @@ evas_module_register(const Evas_Module_Api *module, Evas_Module_Type type)
304 em = calloc(1, sizeof (Evas_Module)); 304 em = calloc(1, sizeof (Evas_Module));
305 if (!em) return EINA_FALSE; 305 if (!em) return EINA_FALSE;
306 306
307 LKI(em->lock);
307 em->definition = module; 308 em->definition = module;
308 309
309 if (type == EVAS_MODULE_TYPE_ENGINE) 310 if (type == EVAS_MODULE_TYPE_ENGINE)
@@ -405,6 +406,7 @@ evas_module_unregister(const Evas_Module_Api *module, Evas_Module_Type type)
405 eina_array_data_set(evas_engines, em->id_engine - 1, NULL); 406 eina_array_data_set(evas_engines, em->id_engine - 1, NULL);
406 407
407 eina_hash_del(evas_modules[type], module->name, em); 408 eina_hash_del(evas_modules[type], module->name, em);
409 LKD(em->lock);
408 free(em); 410 free(em);
409 411
410 return EINA_TRUE; 412 return EINA_TRUE;
@@ -512,7 +514,6 @@ evas_module_load(Evas_Module *em)
512 if (!em->definition->func.open(em)) return 0; 514 if (!em->definition->func.open(em)) return 0;
513 em->loaded = 1; 515 em->loaded = 1;
514 516
515 LKI(em->lock);
516 return 1; 517 return 1;
517} 518}
518 519
@@ -528,7 +529,6 @@ evas_module_unload(Evas_Module *em)
528// em->definition->func.close(em); 529// em->definition->func.close(em);
529// em->loaded = 0; 530// em->loaded = 0;
530 531
531 LKD(em->lock);
532} 532}
533 533
534void 534void