diff --git a/src/lib/evas/canvas/evas_main.c b/src/lib/evas/canvas/evas_main.c index 580101c2f6..83f75b6e95 100644 --- a/src/lib/evas/canvas/evas_main.c +++ b/src/lib/evas/canvas/evas_main.c @@ -131,8 +131,8 @@ evas_shutdown(void) return _evas_init_count; eina_log_timing(_evas_log_dom_global, - EINA_LOG_STATE_START, - EINA_LOG_STATE_SHUTDOWN); + EINA_LOG_STATE_START, + EINA_LOG_STATE_SHUTDOWN); #ifdef EVAS_CSERVE2 if (evas_cserve2_use_get()) @@ -163,7 +163,6 @@ evas_shutdown(void) evas_thread_shutdown(); _evas_preload_thread_shutdown(); evas_async_events_shutdown(); - //evas_common_shutdown(); evas_module_shutdown(); #ifdef BUILD_LOADER_EET @@ -354,6 +353,8 @@ _evas_canvas_efl_object_destructor(Eo *eo_e, Evas_Public_Data *e) e->engine.data.context); e->engine.func->output_free(e->engine.data.output); e->engine.func->info_free(eo_e, e->engine.info); + + evas_common_shutdown(); } for (i = 0; i < e->modifiers.mod.count; i++) @@ -425,7 +426,9 @@ _evas_canvas_engine_info_set(Eo *eo_e, Evas_Public_Data *e, Evas_Engine_Info *in if (info->magic != e->engine.info_magic) return EINA_FALSE; evas_canvas_async_block(e); + evas_common_init(); res = e->engine.func->setup(eo_e, info); + if (!res) evas_common_shutdown(); return res; } diff --git a/src/modules/evas/engines/buffer/evas_engine.c b/src/modules/evas/engines/buffer/evas_engine.c index 5ee45dcf2a..fcdd184a09 100644 --- a/src/modules/evas/engines/buffer/evas_engine.c +++ b/src/modules/evas/engines/buffer/evas_engine.c @@ -56,10 +56,7 @@ _output_setup(int w, DATA32 color_key = 0; re = calloc(1, sizeof(Render_Engine)); - if (!re) - return NULL; - /* if we haven't initialized - init (automatic abort if already done) */ - evas_common_init(); + if (!re) return NULL; evas_buffer_outbuf_buf_init(); @@ -176,8 +173,6 @@ eng_output_free(void *data) evas_render_engine_software_generic_clean(&re->generic); free(re); } - - evas_common_shutdown(); } static Eina_Bool diff --git a/src/modules/evas/engines/drm/evas_engine.c b/src/modules/evas/engines/drm/evas_engine.c index f709592ef3..3c198fb8f8 100644 --- a/src/modules/evas/engines/drm/evas_engine.c +++ b/src/modules/evas/engines/drm/evas_engine.c @@ -88,7 +88,6 @@ eng_setup(Evas *evas, void *einfo) re = epd->engine.data.output; if (!re) { - evas_common_init(); re = _render_engine_setup(info, epd->output.w, epd->output.h); if (!re) return 0; @@ -127,8 +126,6 @@ eng_output_free(void *data) evas_render_engine_software_generic_clean(&re->generic); free(re); } - - evas_common_shutdown(); } static int diff --git a/src/modules/evas/engines/eglfs/evas_engine.c b/src/modules/evas/engines/eglfs/evas_engine.c index cf7c21b0be..1c0e10841c 100644 --- a/src/modules/evas/engines/eglfs/evas_engine.c +++ b/src/modules/evas/engines/eglfs/evas_engine.c @@ -766,7 +766,6 @@ eng_setup(Evas *evas, void *in) if (!initted) { - evas_common_init(); glsym_evas_gl_preload_init(); } @@ -934,7 +933,6 @@ eng_output_free(void *data) if ((initted == EINA_TRUE) && (gl_wins == 0)) { glsym_evas_gl_preload_shutdown(); - evas_common_shutdown(); initted = EINA_FALSE; } } diff --git a/src/modules/evas/engines/fb/evas_engine.c b/src/modules/evas/engines/fb/evas_engine.c index 204a614688..4917113c68 100644 --- a/src/modules/evas/engines/fb/evas_engine.c +++ b/src/modules/evas/engines/fb/evas_engine.c @@ -98,8 +98,6 @@ _output_setup(Evas *eo_e, int w, int h, int rot, int vt, int dev, int refresh, re = calloc(1, sizeof(Render_Engine)); if (!re) return NULL; - /* if we haven't initialized - init (automatic abort if already done) */ - evas_common_init(); evas_fb_outbuf_fb_init(); @@ -133,7 +131,6 @@ _output_setup(Evas *eo_e, int w, int h, int rot, int vt, int dev, int refresh, on_error: if (ob) evas_fb_outbuf_fb_free(ob); free(re); - evas_common_shutdown(); return NULL; } @@ -190,8 +187,6 @@ eng_output_free(void *data) evas_render_engine_software_generic_clean(&re->generic); free(re); } - - evas_common_shutdown(); } static Eina_Bool diff --git a/src/modules/evas/engines/gl_cocoa/evas_engine.c b/src/modules/evas/engines/gl_cocoa/evas_engine.c index 52ca7433d4..f3f684b447 100644 --- a/src/modules/evas/engines/gl_cocoa/evas_engine.c +++ b/src/modules/evas/engines/gl_cocoa/evas_engine.c @@ -172,7 +172,6 @@ eng_setup(Evas *evas, void *in) { if (!_initted) { - evas_common_init(); glsym_evas_gl_preload_init(); _initted = EINA_TRUE; } @@ -259,7 +258,6 @@ eng_output_free(void *data) if (_initted && (_gl_wins == 0)) { glsym_evas_gl_preload_shutdown(); - evas_common_shutdown(); _initted = EINA_FALSE; } } diff --git a/src/modules/evas/engines/gl_drm/evas_engine.c b/src/modules/evas/engines/gl_drm/evas_engine.c index 2d600d1396..12889a3fef 100644 --- a/src/modules/evas/engines/gl_drm/evas_engine.c +++ b/src/modules/evas/engines/gl_drm/evas_engine.c @@ -906,7 +906,6 @@ eng_setup(Evas *evas, void *in) if (!initted) { - evas_common_init(); glsym_evas_gl_preload_init(); } @@ -1090,7 +1089,6 @@ eng_output_free(void *data) if ((initted == EINA_TRUE) && (gl_wins == 0)) { glsym_evas_gl_preload_shutdown(); - evas_common_shutdown(); initted = EINA_FALSE; } } diff --git a/src/modules/evas/engines/gl_sdl/evas_engine.c b/src/modules/evas/engines/gl_sdl/evas_engine.c index e722eee1d2..0c7da915d7 100644 --- a/src/modules/evas/engines/gl_sdl/evas_engine.c +++ b/src/modules/evas/engines/gl_sdl/evas_engine.c @@ -305,7 +305,6 @@ eng_setup(Evas *eo_e, void *in) re = calloc(1, sizeof (Render_Engine)); if (!re) goto on_error; - if (!evas_render_engine_gl_generic_init(&re->generic, ob, NULL, _outbuf_get_rot, _outbuf_reconfigure, @@ -334,7 +333,6 @@ eng_setup(Evas *eo_e, void *in) e->engine.data.context = e->engine.func->context_new(e->engine.data.output); /* if we haven't initialized - init (automatic abort if already done) */ - evas_common_init(); return 1; diff --git a/src/modules/evas/engines/gl_x11/evas_engine.c b/src/modules/evas/engines/gl_x11/evas_engine.c index 6d7a349602..3a8650bb71 100644 --- a/src/modules/evas/engines/gl_x11/evas_engine.c +++ b/src/modules/evas/engines/gl_x11/evas_engine.c @@ -1713,7 +1713,6 @@ eng_setup(Evas *eo_e, void *in) if (!initted) { - evas_common_init(); glsym_evas_gl_preload_init(); } @@ -1938,7 +1937,6 @@ eng_output_free(void *data) if ((initted == 1) && (gl_wins == 0)) { glsym_evas_gl_preload_shutdown(); - evas_common_shutdown(); initted = 0; } } diff --git a/src/modules/evas/engines/psl1ght/evas_engine.c b/src/modules/evas/engines/psl1ght/evas_engine.c index be5f808273..d119139b4d 100644 --- a/src/modules/evas/engines/psl1ght/evas_engine.c +++ b/src/modules/evas/engines/psl1ght/evas_engine.c @@ -107,9 +107,6 @@ _output_setup(int w, int h) flipBuffer(re->context, MAX_BUFFERS - 1); - /* if we haven't initialized - init (automatic abort if already done) */ - evas_common_init(); - re->tb = evas_common_tilebuf_new(w, h); /* in preliminary tests 16x16 gave highest framerates */ @@ -201,8 +198,6 @@ eng_output_free(void *data) evas_common_tilebuf_free_render_rects(re->rects); free(re); - - evas_common_shutdown(); } static void diff --git a/src/modules/evas/engines/software_ddraw/evas_engine.c b/src/modules/evas/engines/software_ddraw/evas_engine.c index 3d6834c663..b8fb1ce831 100644 --- a/src/modules/evas/engines/software_ddraw/evas_engine.c +++ b/src/modules/evas/engines/software_ddraw/evas_engine.c @@ -33,9 +33,6 @@ _output_setup(int width, if (!re) return NULL; - /* if we haven't initialized - init (automatic abort if already done) */ - evas_common_init(); - evas_software_ddraw_outbuf_init(); ob = evas_software_ddraw_outbuf_setup(width, height, rot, @@ -144,8 +141,6 @@ eng_output_free(void *data) re = (Render_Engine *)data; evas_render_engine_software_generic_clean(&re->generic); free(re); - - evas_common_shutdown(); } static Eina_Bool diff --git a/src/modules/evas/engines/software_gdi/evas_engine.c b/src/modules/evas/engines/software_gdi/evas_engine.c index be226f7a02..4cb2fa1ba0 100644 --- a/src/modules/evas/engines/software_gdi/evas_engine.c +++ b/src/modules/evas/engines/software_gdi/evas_engine.c @@ -33,9 +33,6 @@ _output_setup(int width, if (!re) return NULL; - /* if we haven't initialized - init (automatic abort if already done) */ - evas_common_init(); - evas_software_gdi_outbuf_init(); if (width <= 0) @@ -152,8 +149,6 @@ eng_output_free(void *data) re = (Render_Engine *)data; evas_render_engine_software_generic_clean(&re->generic); free(re); - - evas_common_shutdown(); } static Eina_Bool diff --git a/src/modules/evas/engines/software_x11/evas_engine.c b/src/modules/evas/engines/software_x11/evas_engine.c index fd61bc0868..4019e6d11b 100644 --- a/src/modules/evas/engines/software_x11/evas_engine.c +++ b/src/modules/evas/engines/software_x11/evas_engine.c @@ -328,7 +328,6 @@ eng_setup(Evas *eo_e, void *in) if (!e->engine.data.output) { /* if we haven't initialized - init (automatic abort if already done) */ - evas_common_init(); if (info->info.backend == EVAS_ENGINE_INFO_SOFTWARE_X11_BACKEND_XLIB) { @@ -455,8 +454,6 @@ eng_output_free(void *data) _output_egl_shutdown(re); free(re); } - - evas_common_shutdown(); } static Eina_Bool diff --git a/src/modules/evas/engines/wayland_egl/evas_engine.c b/src/modules/evas/engines/wayland_egl/evas_engine.c index 7b53d268f6..4d47f6fe56 100644 --- a/src/modules/evas/engines/wayland_egl/evas_engine.c +++ b/src/modules/evas/engines/wayland_egl/evas_engine.c @@ -579,7 +579,6 @@ eng_setup(Evas *evas, void *info) /* if we have not initialize gl & evas, do it */ if (!initted) { - evas_common_init(); glsym_evas_gl_preload_init(); } @@ -758,7 +757,6 @@ eng_output_free(void *data) if ((initted == EINA_TRUE) && (gl_wins == 0)) { glsym_evas_gl_preload_shutdown(); - evas_common_shutdown(); initted = EINA_FALSE; } } diff --git a/src/modules/evas/engines/wayland_shm/evas_engine.c b/src/modules/evas/engines/wayland_shm/evas_engine.c index d088818634..c8e4c19590 100644 --- a/src/modules/evas/engines/wayland_shm/evas_engine.c +++ b/src/modules/evas/engines/wayland_shm/evas_engine.c @@ -153,7 +153,6 @@ eng_setup(Evas *eo_evas, void *info) if (!(re = epd->engine.data.output)) { /* if we have no engine data, assume we have not initialized yet */ - evas_common_init(); re = _render_engine_swapbuf_setup(epd->output.w, epd->output.h, einfo); @@ -188,11 +187,10 @@ eng_setup(Evas *eo_evas, void *info) return 1; err: - evas_common_shutdown(); return 0; } -static void +static void eng_output_free(void *data) { Render_Engine *re; @@ -202,8 +200,6 @@ eng_output_free(void *data) evas_render_engine_software_generic_clean(&re->generic); free(re); } - - evas_common_shutdown(); } static void