ecore_evas_drm: Send a spurious pageflip when showing a canvas

This is a quick and harmless hack to make sure we don't come back to a
dead compositor on a vc switch.

A proper fix will follow eventually, I promise.

Really.  Would I lie?
This commit is contained in:
Derek Foreman 2017-06-02 14:19:39 -05:00
parent 280c82fdd4
commit cc70806497
1 changed files with 10 additions and 0 deletions

View File

@ -319,6 +319,8 @@ _drm_pointer_warp(const Ecore_Evas *ee, Evas_Coord x, Evas_Coord y)
static void
_drm_show(Ecore_Evas *ee)
{
Ecore_Evas_Engine_Drm_Data *edata;
if ((!ee) || (ee->visible)) return;
ee->should_be_visible = 1;
@ -344,6 +346,14 @@ _drm_show(Ecore_Evas *ee)
if (ee->func.fn_focus_in) ee->func.fn_focus_in(ee);
}
if (ee->func.fn_show) ee->func.fn_show(ee);
edata = ee->engine.data;
/* HACK: sometimes we still have an animator ticking when we vc switch
* so for now we just fire off a flip here to kick it when we come back.
* This is just papering over a bug for now until I have time to track
* it down properly. :(
*/
ecore_drm2_fb_flip(NULL, edata->output);
}
static void