summaryrefslogtreecommitdiff
path: root/src/lib/ecore_evas/ecore_evas.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/ecore_evas/ecore_evas.c')
-rw-r--r--src/lib/ecore_evas/ecore_evas.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/lib/ecore_evas/ecore_evas.c b/src/lib/ecore_evas/ecore_evas.c
index 77ab679107..11c043e606 100644
--- a/src/lib/ecore_evas/ecore_evas.c
+++ b/src/lib/ecore_evas/ecore_evas.c
@@ -3148,6 +3148,7 @@ _ecore_evas_tick_source_find(void)
3148 Ecore_Evas *ee; 3148 Ecore_Evas *ee;
3149 Eina_Bool source = EINA_FALSE; 3149 Eina_Bool source = EINA_FALSE;
3150 3150
3151 // Check if we do have a potential tick source for legacy
3151 EINA_INLIST_FOREACH(ecore_evases, ee) 3152 EINA_INLIST_FOREACH(ecore_evases, ee)
3152 if (!ee->deleted && 3153 if (!ee->deleted &&
3153 ee->engine.func->fn_animator_register && 3154 ee->engine.func->fn_animator_register &&
@@ -3157,7 +3158,19 @@ _ecore_evas_tick_source_find(void)
3157 break; 3158 break;
3158 } 3159 }
3159 3160
3160 // If no source is available for ticking, fallback to timer. 3161 // If just one source require fallback, we can't be sure that
3162 // we are not running enlightenment and that this source might
3163 // actually be the true tick source of all other window. In
3164 // that scenario, we have to forcefully fallback.
3165 EINA_INLIST_FOREACH(ecore_evases, ee)
3166 if (!ee->deleted &&
3167 (!ee->engine.func->fn_animator_register ||
3168 !ee->engine.func->fn_animator_unregister))
3169 {
3170 source = EINA_FALSE;
3171 break;
3172 }
3173
3161 if (!source) 3174 if (!source)
3162 { 3175 {
3163 ecore_animator_source_set(ECORE_ANIMATOR_SOURCE_TIMER); 3176 ecore_animator_source_set(ECORE_ANIMATOR_SOURCE_TIMER);