summaryrefslogtreecommitdiff
path: root/src/modules/ecore_evas/engines
diff options
context:
space:
mode:
authorDerek Foreman <derekf@osg.samsung.com>2017-06-02 14:19:39 -0500
committerDerek Foreman <derekf@osg.samsung.com>2017-06-02 15:50:09 -0500
commitcc708064979314a94971fa00668ae14e6d1cab43 (patch)
treeef3fa8a22b7e483b2e8101860e298888a552dbec /src/modules/ecore_evas/engines
parent280c82fdd4af1e9d9446983627a9db992b9ba348 (diff)
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?
Diffstat (limited to '')
-rw-r--r--src/modules/ecore_evas/engines/drm/ecore_evas_drm.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c
index c4446c11bd..b0e0ff41b9 100644
--- a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c
+++ b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c
@@ -319,6 +319,8 @@ _drm_pointer_warp(const Ecore_Evas *ee, Evas_Coord x, Evas_Coord y)
319static void 319static void
320_drm_show(Ecore_Evas *ee) 320_drm_show(Ecore_Evas *ee)
321{ 321{
322 Ecore_Evas_Engine_Drm_Data *edata;
323
322 if ((!ee) || (ee->visible)) return; 324 if ((!ee) || (ee->visible)) return;
323 325
324 ee->should_be_visible = 1; 326 ee->should_be_visible = 1;
@@ -344,6 +346,14 @@ _drm_show(Ecore_Evas *ee)
344 if (ee->func.fn_focus_in) ee->func.fn_focus_in(ee); 346 if (ee->func.fn_focus_in) ee->func.fn_focus_in(ee);
345 } 347 }
346 if (ee->func.fn_show) ee->func.fn_show(ee); 348 if (ee->func.fn_show) ee->func.fn_show(ee);
349
350 edata = ee->engine.data;
351 /* HACK: sometimes we still have an animator ticking when we vc switch
352 * so for now we just fire off a flip here to kick it when we come back.
353 * This is just papering over a bug for now until I have time to track
354 * it down properly. :(
355 */
356 ecore_drm2_fb_flip(NULL, edata->output);
347} 357}
348 358
349static void 359static void