ecore: fallback to use efl_provider_find if the passed object isn't an Efl.Loop_Consumer.

This commit is contained in:
Cedric BAIL 2018-01-04 11:21:36 -08:00
parent e30fb6945e
commit ce373c9b1f
1 changed files with 9 additions and 1 deletions

View File

@ -717,6 +717,8 @@ _efl_loop_efl_version_get(Eo *obj EINA_UNUSED, Efl_Loop_Data *pd EINA_UNUSED)
EAPI Eina_Future_Scheduler *
efl_loop_future_scheduler_get(const Eo *obj)
{
Efl_Loop *loop;
if (!obj) return NULL;
if (efl_isa(obj, EFL_LOOP_CLASS))
@ -734,8 +736,14 @@ efl_loop_future_scheduler_get(const Eo *obj)
}
return &(pd->future_scheduler.eina_future_scheduler);
}
if (efl_isa(obj, EFL_LOOP_CONSUMER_CLASS))
return efl_loop_future_scheduler_get(efl_loop_get(obj));
return efl_loop_future_scheduler_get(efl_loop_get(obj));
loop = efl_provider_find(obj, EFL_LOOP_CLASS);
if (loop)
return efl_loop_future_scheduler_get(loop);
return NULL;
}
#define EFL_LOOP_EXTRA_OPS \