summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2017-12-18 11:58:43 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2017-12-18 19:54:31 +0900
commit784a5b56a3c798e5a8081e2ce30c79cd8ef7b326 (patch)
treeca36741ba795a8b352b9f1d093c0e8ec13671107
parentfed81234480b7ed5b4d414f2df18b49992809a35 (diff)
downloadefl-784a5b56a3c798e5a8081e2ce30c79cd8ef7b326.tar.gz
loop: Try harder to find the main loop
If the object has no parent or anything else goes a bit wrong, efl_loop_get() may fail to return the loop object. It's a bit ridiculous when we're in the main loop as we know which loop object was requested. This avoids returning NULL.
-rw-r--r--src/lib/ecore/efl_loop_consumer.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/lib/ecore/efl_loop_consumer.c b/src/lib/ecore/efl_loop_consumer.c
index d436da82ff..389e0c5f96 100644
--- a/src/lib/ecore/efl_loop_consumer.c
+++ b/src/lib/ecore/efl_loop_consumer.c
@@ -14,6 +14,8 @@ 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);
}