derekf pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=aa9cc3a068560e53a3ea6912ecdd8521ed49519e

commit aa9cc3a068560e53a3ea6912ecdd8521ed49519e
Author: Mike Blumenkrantz <[email protected]>
Date:   Thu Jun 28 15:03:15 2018 -0500

    evas: remove ecore init/shutdown calls from everywhere besides evas_main
    
    Summary:
    these separate inits and shutdowns make it impossible to effectively control
    ecore's lifetime which makes evas_shutdown unreliable as objects may be
    destroyed at any point
    
    ref T7052
    Depends on D6475
    
    Reviewers: ManMower, devilhorns
    
    Reviewed By: ManMower, devilhorns
    
    Subscribers: cedric, #committers
    
    Tags: #efl
    
    Maniphest Tasks: T7052
    
    Differential Revision: https://phab.enlightenment.org/D6476
---
 src/lib/evas/cache/evas_preload.c        | 2 --
 src/lib/evas/canvas/evas_async_events.c  | 6 ------
 src/lib/evas/common/evas_scale_sample.c  | 4 ----
 src/lib/evas/common/evas_thread_render.c | 5 -----
 4 files changed, 17 deletions(-)

diff --git a/src/lib/evas/cache/evas_preload.c 
b/src/lib/evas/cache/evas_preload.c
index c71e5ed7d5..921b03c6f4 100644
--- a/src/lib/evas/cache/evas_preload.c
+++ b/src/lib/evas/cache/evas_preload.c
@@ -71,7 +71,6 @@ _evas_preload_thread_worker(void *data, Ecore_Thread *thread)
 void
 _evas_preload_thread_init(void)
 {
-   ecore_init();
 }
 
 void
@@ -91,7 +90,6 @@ _evas_preload_thread_shutdown(void)
              works = eina_inlist_remove(works, works);
           }
      }
-   ecore_shutdown();
 }
 
 Evas_Preload_Pthread *
diff --git a/src/lib/evas/canvas/evas_async_events.c 
b/src/lib/evas/canvas/evas_async_events.c
index 8b6bb29df1..b7141a54e4 100644
--- a/src/lib/evas/canvas/evas_async_events.c
+++ b/src/lib/evas/canvas/evas_async_events.c
@@ -115,11 +115,6 @@ evas_async_events_init(void)
 
    if (_init_evas_event++)
      return _init_evas_event;
-   if ( !ecore_init() )
-     {
-        _init_evas_event = 0;
-        return 0;
-     }
 
    ecore_fork_reset_callback_add(_evas_async_events_fork_handle, NULL);
 
@@ -171,7 +166,6 @@ evas_async_events_shutdown(void)
    ecore_pipe_del(_async_pipe);
    _read_error = EINA_TRUE;
    _write_error = EINA_TRUE;
-   ecore_shutdown();
 
    return _init_evas_event;
 }
diff --git a/src/lib/evas/common/evas_scale_sample.c 
b/src/lib/evas/common/evas_scale_sample.c
index 737aeb2fec..fc1eb00a51 100644
--- a/src/lib/evas/common/evas_scale_sample.c
+++ b/src/lib/evas/common/evas_scale_sample.c
@@ -889,8 +889,6 @@ evas_common_scale_sample_init(void)
    return;
 #endif
 
-   ecore_init();
-
    ecore_fork_reset_callback_add(evas_common_scale_sample_fork_reset, NULL);
 
    thread_queue = eina_thread_queue_new();
@@ -944,6 +942,4 @@ evas_common_scale_sample_shutdown(void)
 
    eina_thread_queue_free(thread_queue);
    eina_thread_queue_free(main_queue);
-
-   ecore_shutdown();
 }
diff --git a/src/lib/evas/common/evas_thread_render.c 
b/src/lib/evas/common/evas_thread_render.c
index a4db5f22c7..324f6e9e3b 100644
--- a/src/lib/evas/common/evas_thread_render.c
+++ b/src/lib/evas/common/evas_thread_render.c
@@ -235,8 +235,6 @@ evas_thread_init(void)
    exit_thread = EINA_FALSE;
    evas_thread_exited = 0;
 
-   ecore_init();
-
    if(!eina_threads_init())
      {
         CRI("Could not init eina threads");
@@ -284,7 +282,6 @@ fail_on_lock_creation:
 fail_on_eina_thread_init:
    exit_thread = EINA_TRUE;
    evas_thread_exited = 1;
-   ecore_shutdown();
    return --init_count;
 }
 
@@ -344,7 +341,5 @@ timeout_shutdown:
 
    eina_threads_shutdown();
 
-   ecore_shutdown();
-
    return 0;
 }

-- 


Reply via email to