From a2b12d17cb88e6f10158a40428374690b7d70418 Mon Sep 17 00:00:00 2001 From: Gwanglim Lee Date: Thu, 2 Nov 2017 23:47:20 +0900 Subject: [PATCH] e_module: added a new init function for initializing module events at pre-stage of main function Change-Id: I94ebea2fd0b5798683f8b8de99b6aebe220dae7e --- src/bin/e_main.c | 2 ++ src/bin/e_module.c | 14 ++++++++++---- src/bin/e_module.h | 1 + 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/bin/e_main.c b/src/bin/e_main.c index f03234c..d005fd3 100644 --- a/src/bin/e_main.c +++ b/src/bin/e_main.c @@ -625,6 +625,8 @@ main(int argc, char **argv) } TRACE_DS_END(); + e_module_event_init(); + TSB("E_Pointer Init"); if (!e_pointer_init()) { diff --git a/src/bin/e_module.c b/src/bin/e_module.c index ae02e06..1d2b5b4 100644 --- a/src/bin/e_module.c +++ b/src/bin/e_module.c @@ -127,6 +127,16 @@ _module_is_important(const char *name) } /* externally accessible functions */ +EINTERN void +e_module_event_init(void) +{ + if (E_EVENT_MODULE_UPDATE) return; + + E_EVENT_MODULE_UPDATE = ecore_event_type_new(); + E_EVENT_MODULE_INIT_END = ecore_event_type_new(); + E_EVENT_MODULE_DEFER_JOB = ecore_event_type_new(); +} + EINTERN int e_module_init(void) { @@ -137,10 +147,6 @@ e_module_init(void) if (_e_modules_hash) return 1; - E_EVENT_MODULE_UPDATE = ecore_event_type_new(); - E_EVENT_MODULE_INIT_END = ecore_event_type_new(); - E_EVENT_MODULE_DEFER_JOB = ecore_event_type_new(); - _e_module_path_hash = eina_hash_string_superfast_new((Eina_Free_Cb)eina_stringshare_del); _e_modules_hash = eina_hash_string_superfast_new(NULL); diff --git a/src/bin/e_module.h b/src/bin/e_module.h index 3d742e2..b7f3e34 100644 --- a/src/bin/e_module.h +++ b/src/bin/e_module.h @@ -52,6 +52,7 @@ struct _E_Module_Api const char *name; }; +EINTERN void e_module_event_init(void); EINTERN int e_module_init(void); EINTERN int e_module_shutdown(void); -- 2.7.4