ecore_evas_drm: Fix bugs in pending tracking

This has been dead wrong for a while but only recently became a
showstopper when another bug was fixed that made this one manifest.
This commit is contained in:
Derek Foreman 2016-11-14 14:30:11 -06:00
parent bf7814aca0
commit 20f52cd607
1 changed files with 7 additions and 1 deletions

View File

@ -630,9 +630,14 @@ _cb_pageflip(int fd EINA_UNUSED, unsigned int frame EINA_UNUSED, unsigned int se
double t = (double)sec + ((double)usec / 1000000);
ecore_evas_animator_tick(ee, NULL, t);
edata->pending = EINA_TRUE;
ecore_drm2_fb_flip(NULL, edata->output);
}
else if (ret)
{
edata->pending = EINA_TRUE;
ecore_drm2_fb_flip(NULL, edata->output);
}
else if (ret) ecore_drm2_fb_flip(NULL, edata->output);
}
static void
@ -654,6 +659,7 @@ _drm_animator_register(Ecore_Evas *ee)
edata = ee->engine.data;
edata->ticking = EINA_TRUE;
if (!edata->pending) ecore_drm2_fb_flip(NULL, edata->output);
edata->pending = EINA_TRUE;
}
static void