derekf pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=7faa20f3c84c8ed7911d2e2b47fba24ddbc22410

commit 7faa20f3c84c8ed7911d2e2b47fba24ddbc22410
Author: Derek Foreman <[email protected]>
Date:   Mon Sep 11 15:48:56 2017 -0500

    wayland_shm: Handle dirty bit outside of the backends
    
    We don't have to query that deeply to know whether we need to redraw the
    buffer or not, we can make that decision in more generic code.
---
 src/modules/evas/engines/wayland_shm/evas_engine.c | 2 ++
 src/modules/evas/engines/wayland_shm/evas_outbuf.c | 3 +--
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/modules/evas/engines/wayland_shm/evas_engine.c 
b/src/modules/evas/engines/wayland_shm/evas_engine.c
index 21ed483be7..786ddb46ee 100644
--- a/src/modules/evas/engines/wayland_shm/evas_engine.c
+++ b/src/modules/evas/engines/wayland_shm/evas_engine.c
@@ -136,6 +136,8 @@ eng_output_update(void *engine, void *data, void *info, 
unsigned int w, unsigned
    ob = re->generic.ob;
    if (ob->ewd != einfo->info.wl2_display)
      {
+        if (einfo->info.wl2_display)
+          ob->dirty = EINA_TRUE;
         re->generic.ob->ewd = einfo->info.wl2_display;
      }
    _evas_outbuf_surface_set(ob,
diff --git a/src/modules/evas/engines/wayland_shm/evas_outbuf.c 
b/src/modules/evas/engines/wayland_shm/evas_outbuf.c
index 99486b7516..9caa52974d 100644
--- a/src/modules/evas/engines/wayland_shm/evas_outbuf.c
+++ b/src/modules/evas/engines/wayland_shm/evas_outbuf.c
@@ -653,6 +653,5 @@ _evas_outbuf_redraws_clear(Outbuf *ob)
 void
 _evas_outbuf_surface_set(Outbuf *ob, struct wl_shm *wl_shm, struct 
zwp_linux_dmabuf_v1 *wl_dmabuf)
 {
-   if (ob->surface->funcs.surface_set(ob->surface, wl_shm, wl_dmabuf))
-     ob->dirty = EINA_TRUE;
+   ob->surface->funcs.surface_set(ob->surface, wl_shm, wl_dmabuf);
 }

-- 


Reply via email to