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;

-- 


Reply via email to