summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean Guyomarc'h <jean.guyomarch@gmail.com>2016-03-04 16:00:58 -0800
committerCedric BAIL <cedric@osg.samsung.com>2016-03-04 16:09:51 -0800
commit15ddd174a1f30b26f5cc67ce983bcc6ce0567031 (patch)
treef22e7b0954d06866403807a4cc612ef2bb8ca25e
parent74161be6f8568e6b18661a876c32738a191e529f (diff)
downloadefl-15ddd174a1f30b26f5cc67ce983bcc6ce0567031.tar.gz
ecore: better resources use in the glib integration
Summary: When glib support is enabled (HAVE_GLIB), _ecore_glib_init() was always reserving resources. However, its counterpart may not be called when: - glib is not always integrated and - when a user didn't explicitly required the integration. Calling _ecore_glib_init() within the request code will cause the resources to be reserved only when the integration with glib is required and furthermore guarantees that resources always have a chance to be released. Reviewers: cedric, raster Subscribers: cedric, jpeg Differential Revision: https://phab.enlightenment.org/D3749 Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
-rw-r--r--src/lib/ecore/ecore.c1
-rw-r--r--src/lib/ecore/ecore_glib.c3
2 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/ecore/ecore.c b/src/lib/ecore/ecore.c
index 0a5b1d82ee..247612b4cf 100644
--- a/src/lib/ecore/ecore.c
+++ b/src/lib/ecore/ecore.c
@@ -248,7 +248,6 @@ ecore_init(void)
_ecore_exe_init();
#endif
_ecore_thread_init();
- _ecore_glib_init();
_ecore_job_init();
_ecore_time_init();
diff --git a/src/lib/ecore/ecore_glib.c b/src/lib/ecore/ecore_glib.c
index e2586c1b27..7232d15ea5 100644
--- a/src/lib/ecore/ecore_glib.c
+++ b/src/lib/ecore/ecore_glib.c
@@ -275,6 +275,9 @@ ecore_main_loop_glib_integrate(void)
_ecore_glib_select_original = func;
ecore_main_loop_select_func_set(_ecore_glib_select);
_ecore_glib_active = EINA_TRUE;
+
+ /* Init only when requested */
+ _ecore_glib_init();
return EINA_TRUE;
#else
ERR("No glib support");