summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCedric Bail <cedric@osg.samsung.com>2017-11-09 14:33:15 -0800
committerCedric Bail <cedric@osg.samsung.com>2017-11-09 15:13:37 -0800
commit4d41f95106bc00e9e59eadca6ecac516a576bd2a (patch)
tree9ffe087003584d8c8ab134999a6d23d94eb0fb14
parentba2abb2eb9e395b049515f70416559982f503b74 (diff)
downloadefl-4d41f95106bc00e9e59eadca6ecac516a576bd2a.tar.gz
elementary: make elm_init and elm_shutdown optional in EFL_MAIN.
-rw-r--r--src/lib/elementary/efl_general.h20
-rw-r--r--src/lib/elementary/elm_general.h2
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"