From a48c54cddd789a570d9eb64f9844a420ecd99c0b Mon Sep 17 00:00:00 2001 From: Chris Michael Date: Thu, 30 Jul 2015 15:09:02 -0400 Subject: [PATCH] evas-wayland-shm: Provide wl_display to the surface structure Summary: In order to fix an existing rendering issue, we need access to the wl_display so that we can dispatch events on the que while we wait for a free buffer Signed-off-by: Chris Michael --- src/modules/evas/engines/wayland_shm/evas_engine.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/modules/evas/engines/wayland_shm/evas_engine.h b/src/modules/evas/engines/wayland_shm/evas_engine.h index 71e63a4af0..610673935a 100644 --- a/src/modules/evas/engines/wayland_shm/evas_engine.h +++ b/src/modules/evas/engines/wayland_shm/evas_engine.h @@ -74,6 +74,7 @@ struct _Shm_Leaf typedef struct _Shm_Surface Shm_Surface; struct _Shm_Surface { + struct wl_display *disp; struct wl_shm *shm; struct wl_surface *surface; uint32_t flags; @@ -116,14 +117,14 @@ struct _Outbuf } priv; }; -Shm_Surface *_evas_shm_surface_create(struct wl_shm *shm, struct wl_surface *surface, int w, int h, int num_buff, Eina_Bool alpha); +Shm_Surface *_evas_shm_surface_create(struct wl_display *disp, struct wl_shm *shm, struct wl_surface *surface, int w, int h, int num_buff, Eina_Bool alpha); void _evas_shm_surface_destroy(Shm_Surface *surface); void _evas_shm_surface_reconfigure(Shm_Surface *surface, int dx, int dy, int w, int h, int num_buff, uint32_t flags); void *_evas_shm_surface_data_get(Shm_Surface *surface, int *w, int *h); Eina_Bool _evas_shm_surface_assign(Shm_Surface *surface); void _evas_shm_surface_post(Shm_Surface *surface, Eina_Rectangle *rects, unsigned int count); -Outbuf *_evas_outbuf_setup(int w, int h, int rot, Outbuf_Depth depth, Eina_Bool alpha, struct wl_shm *shm, struct wl_surface *surface); +Outbuf *_evas_outbuf_setup(int w, int h, int rot, Outbuf_Depth depth, Eina_Bool alpha, struct wl_shm *shm, struct wl_surface *surface, struct wl_display *disp); void _evas_outbuf_free(Outbuf *ob); void _evas_outbuf_flush(Outbuf *ob, Tilebuf_Rect *rects, Evas_Render_Mode render_mode); void _evas_outbuf_idle_flush(Outbuf *ob);