forked from enlightenment/efl
ecore_evas_wayland: Fix session recovery
Turns out when apps reconnect to the compositor they don't always realize they need to redraw themselves. Force a manual render at startup if we end up in a state where an update is needed but has probably been dropped on the floor.
This commit is contained in:
parent
43160401bb
commit
059613222a
|
@ -595,6 +595,7 @@ _ecore_evas_wl_common_cb_window_configure_complete(void *data EINA_UNUSED, int t
|
||||||
Ecore_Evas *ee;
|
Ecore_Evas *ee;
|
||||||
Ecore_Wl2_Event_Window_Configure_Complete *ev;
|
Ecore_Wl2_Event_Window_Configure_Complete *ev;
|
||||||
Evas_Engine_Info_Wayland *einfo;
|
Evas_Engine_Info_Wayland *einfo;
|
||||||
|
Ecore_Evas_Engine_Wl_Data *wdata;
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
|
|
||||||
|
@ -611,6 +612,8 @@ _ecore_evas_wl_common_cb_window_configure_complete(void *data EINA_UNUSED, int t
|
||||||
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
|
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
|
||||||
ERR("Failed to set Evas Engine Info for '%s'", ee->driver);
|
ERR("Failed to set Evas Engine Info for '%s'", ee->driver);
|
||||||
|
|
||||||
|
wdata = ee->engine.data;
|
||||||
|
if (wdata->frame) ecore_evas_manual_render(ee);
|
||||||
ecore_evas_manual_render_set(ee, 0);
|
ecore_evas_manual_render_set(ee, 0);
|
||||||
|
|
||||||
return ECORE_CALLBACK_PASS_ON;
|
return ECORE_CALLBACK_PASS_ON;
|
||||||
|
|
Loading…
Reference in New Issue