jpeg pushed a commit to branch master.

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

commit 0d85525dc895a414d0f50d4a7e82049aa0afc69d
Author: Jean-Philippe Andre <[email protected]>
Date:   Wed Dec 20 11:02:59 2017 +0900

    loop: Fix loop_get search priority
    
    According to comments by @k-s & @raster.
    
    See 784a5b56a3c798e5a8 this was intended to be a fallback, not the first
    lookup indeed. Since this is an error case, let's print an ERR message
    at least.
---
 src/lib/ecore/efl_loop_consumer.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/lib/ecore/efl_loop_consumer.c 
b/src/lib/ecore/efl_loop_consumer.c
index 389e0c5f96..f984909e1a 100644
--- a/src/lib/ecore/efl_loop_consumer.c
+++ b/src/lib/ecore/efl_loop_consumer.c
@@ -14,9 +14,14 @@ struct _Efl_Loop_Consumer_Data
 static Efl_Loop *
 _efl_loop_consumer_loop_get(Eo *obj, Efl_Loop_Consumer_Data *pd EINA_UNUSED)
 {
-   if (eina_main_loop_is())
-     return ecore_main_loop_get();
-   return efl_provider_find(obj, EFL_LOOP_CLASS);
+   Efl_Loop *loop = efl_provider_find(obj, EFL_LOOP_CLASS);
+   if (!loop && eina_main_loop_is())
+     {
+        loop = ecore_main_loop_get();
+        ERR("Failed to get the loop on object %p from the main thread! "
+            "Returning the main loop: %p", obj, loop);
+     }
+   return loop;
 }
 
 static void

-- 


Reply via email to