diff --git a/src/Makefile_Evas.am b/src/Makefile_Evas.am index 2caa195ab1..deab83005d 100644 --- a/src/Makefile_Evas.am +++ b/src/Makefile_Evas.am @@ -2434,6 +2434,7 @@ TESTS += tests/evas/evas_suite tests_evas_evas_suite_SOURCES = \ tests/evas/evas_suite.c \ tests/evas/evas_test_init.c \ +tests/evas/evas_test_new.c \ tests/evas/evas_test_object.c \ tests/evas/evas_test_object_smart.c \ tests/evas/evas_test_textblock.c \ diff --git a/src/lib/ecore_evas/ecore_evas.c b/src/lib/ecore_evas/ecore_evas.c index 52dfc36db1..88dd59ee7c 100644 --- a/src/lib/ecore_evas/ecore_evas.c +++ b/src/lib/ecore_evas/ecore_evas.c @@ -667,8 +667,8 @@ ecore_evas_shutdown(void) eina_log_domain_unregister(_ecore_evas_log_dom); _ecore_evas_log_dom = -1; - evas_shutdown(); ecore_shutdown(); + evas_shutdown(); return _ecore_evas_init_count; } diff --git a/src/lib/evas/canvas/evas_main.c b/src/lib/evas/canvas/evas_main.c index 2849f21ceb..50555c4ea1 100644 --- a/src/lib/evas/canvas/evas_main.c +++ b/src/lib/evas/canvas/evas_main.c @@ -155,9 +155,19 @@ evas_shutdown(void) #endif evas_cache_vg_shutdown(); + evas_font_path_global_clear(); + + evas_filter_shutdown(); + + evas_thread_shutdown(); + _evas_preload_thread_shutdown(); + evas_async_events_shutdown(); + evas_module_shutdown(); + + ecore_shutdown(); + _efl_gfx_map_shutdown(); - evas_font_path_global_clear(); eina_cow_del(evas_object_proxy_cow); eina_cow_del(evas_object_map_cow); eina_cow_del(evas_object_state_cow); @@ -172,17 +182,9 @@ evas_shutdown(void) evas_object_image_load_opts_cow = NULL; evas_object_image_state_cow = NULL; - evas_filter_shutdown(); eina_cow_del(evas_object_mask_cow); evas_object_mask_cow = NULL; - evas_thread_shutdown(); - _evas_preload_thread_shutdown(); - evas_async_events_shutdown(); - evas_module_shutdown(); - - ecore_shutdown(); - #ifdef BUILD_LOADER_EET eet_shutdown(); #endif diff --git a/src/tests/evas/evas_suite.c b/src/tests/evas/evas_suite.c index a5c27d5dfa..e84d23f5dc 100644 --- a/src/tests/evas/evas_suite.c +++ b/src/tests/evas/evas_suite.c @@ -10,6 +10,7 @@ static const Efl_Test_Case etc[] = { { "Evas", evas_test_init }, + { "Evas New", evas_test_new }, { "Object", evas_test_object }, { "Object Textblock", evas_test_textblock }, { "Object Text", evas_test_text }, diff --git a/src/tests/evas/evas_suite.h b/src/tests/evas/evas_suite.h index f7feb2ccbe..0da47fe13f 100644 --- a/src/tests/evas/evas_suite.h +++ b/src/tests/evas/evas_suite.h @@ -4,6 +4,7 @@ #include #include "../efl_check.h" void evas_test_init(TCase *tc); +void evas_test_new(TCase *tc); void evas_test_object(TCase *tc); void evas_test_textblock(TCase *tc); void evas_test_text(TCase *tc); diff --git a/src/tests/evas/evas_test_new.c b/src/tests/evas/evas_test_new.c new file mode 100644 index 0000000000..c95c43a230 --- /dev/null +++ b/src/tests/evas/evas_test_new.c @@ -0,0 +1,21 @@ +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include + +#include + +#include "evas_suite.h" + +EFL_START_TEST(evas_free_none) +{ + Evas *evas = evas_new(); + Evas_Object *obj = evas_object_rectangle_add(evas); +} +EFL_END_TEST + +void evas_test_new(TCase *tc) +{ + tcase_add_test(tc, evas_free_none); +}