derekf pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=2a15d7b7301f9a2051aed90675044b843363013e
commit 2a15d7b7301f9a2051aed90675044b843363013e Author: Derek Foreman <[email protected]> Date: Mon Sep 11 15:37:53 2017 -0500 wayland_shm: Store the ecore_wl2_display in the Outbuf We'll need it soon. --- src/modules/evas/engines/wayland_shm/evas_engine.c | 8 +++++++- src/modules/evas/engines/wayland_shm/evas_engine.h | 1 + src/modules/evas/engines/wayland_shm/evas_outbuf.c | 1 + 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/modules/evas/engines/wayland_shm/evas_engine.c b/src/modules/evas/engines/wayland_shm/evas_engine.c index e74cc2fcbb..21ed483be7 100644 --- a/src/modules/evas/engines/wayland_shm/evas_engine.c +++ b/src/modules/evas/engines/wayland_shm/evas_engine.c @@ -131,8 +131,14 @@ eng_output_update(void *engine, void *data, void *info, unsigned int w, unsigned { Evas_Engine_Info_Wayland *einfo = info; Render_Engine *re = data; + Outbuf *ob; - _evas_outbuf_surface_set(re->generic.ob, + ob = re->generic.ob; + if (ob->ewd != einfo->info.wl2_display) + { + re->generic.ob->ewd = einfo->info.wl2_display; + } + _evas_outbuf_surface_set(ob, einfo->info.wl_shm, einfo->info.wl_dmabuf); diff --git a/src/modules/evas/engines/wayland_shm/evas_engine.h b/src/modules/evas/engines/wayland_shm/evas_engine.h index 7cbedf0482..2b014c3a2d 100644 --- a/src/modules/evas/engines/wayland_shm/evas_engine.h +++ b/src/modules/evas/engines/wayland_shm/evas_engine.h @@ -112,6 +112,7 @@ struct _Outbuf int num_buff; Outbuf_Depth depth; + Ecore_Wl2_Display *ewd; Evas_Engine_Info_Wayland *info; Surface *surface; diff --git a/src/modules/evas/engines/wayland_shm/evas_outbuf.c b/src/modules/evas/engines/wayland_shm/evas_outbuf.c index 3281f60309..99486b7516 100644 --- a/src/modules/evas/engines/wayland_shm/evas_outbuf.c +++ b/src/modules/evas/engines/wayland_shm/evas_outbuf.c @@ -56,6 +56,7 @@ _evas_outbuf_setup(int w, int h, Evas_Engine_Info_Wayland *info) ob->depth = info->info.depth; ob->priv.destination_alpha = info->info.destination_alpha; ob->hidden = info->info.hidden; + ob->ewd = info->info.wl2_display; /* default to triple buffer */ ob->num_buff = 3; --
