From 4d41f95106bc00e9e59eadca6ecac516a576bd2a Mon Sep 17 00:00:00 2001 From: Cedric Bail Date: Thu, 9 Nov 2017 14:33:15 -0800 Subject: [PATCH] elementary: make elm_init and elm_shutdown optional in EFL_MAIN. --- src/lib/elementary/efl_general.h | 20 ++++++++++++++++---- src/lib/elementary/elm_general.h | 2 ++ 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/lib/elementary/efl_general.h b/src/lib/elementary/efl_general.h index 9d7171b05f..4fd4a26ad7 100644 --- a/src/lib/elementary/efl_general.h +++ b/src/lib/elementary/efl_general.h @@ -24,6 +24,18 @@ # define _EFL_BUILD_ID NULL #endif +#define __EFL_MAIN_CONSTRUCTOR \ + __EFL_UI(elm_init(argc, argv);) + +#define __EFL_MAIN_DESTRUCTOR \ + __EFL_UI(elm_shutdown();) + +#ifdef __EFL_UI_IS_REQUIRED +# define __EFL_UI(...) __VA_ARGS__ +#else +# define __EFL_UI(...) +#endif + #define _EFL_APP_VERSION_SET() \ do { \ if (efl_build_version_set) \ @@ -40,10 +52,10 @@ ecore_init(); \ efl_event_callback_add(ecore_main_loop_get(), EFL_LOOP_EVENT_ARGUMENTS, efl_main, NULL); \ ecore_init_ex(argc, argv); \ - elm_init(argc, argv); \ + __EFL_MAIN_CONSTRUCTOR; \ ret__ = efl_loop_begin(ecore_main_loop_get()); \ real__ = efl_loop_exit_code_process(ret__); \ - elm_shutdown(); \ + __EFL_MAIN_DESTRUCTOR; \ ecore_shutdown_ex(); \ ecore_shutdown(); \ return real__; \ @@ -64,10 +76,10 @@ ecore_init(); \ efl_event_callback_array_add(ecore_main_loop_get(), _efl_main_ex(), NULL); \ ecore_init_ex(argc, argv); \ - elm_init(argc, argv); \ + __EFL_MAIN_CONSTRUCTOR; \ ret__ = efl_loop_begin(ecore_main_loop_get()); \ real__ = efl_loop_exit_code_process(ret__); \ - elm_shutdown(); \ + __EFL_MAIN_DESTRUCTOR; \ ecore_shutdown_ex(); \ ecore_shutdown(); \ return real__; \ diff --git a/src/lib/elementary/elm_general.h b/src/lib/elementary/elm_general.h index 5645bf471f..be657e1660 100644 --- a/src/lib/elementary/elm_general.h +++ b/src/lib/elementary/elm_general.h @@ -96,6 +96,8 @@ extern EAPI double _elm_startup_time; #define ELM_MAIN() int main(int argc, char **argv) { int ret__; _elm_startup_time = ecore_time_unix_get(); ret__ = elm_quicklaunch_fallback(argc, argv); elm_shutdown(); return ret__; } #endif +#define __EFL_UI_IS_REQUIRED + #include "Efl_Core.h" #include "efl_general.h"