discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=bc59464f99931ccede6e3739e3f6b062580e08ae
commit bc59464f99931ccede6e3739e3f6b062580e08ae Author: Mike Blumenkrantz <zm...@osg.samsung.com> Date: Mon Feb 2 16:45:18 2015 -0500 make wl clients use post render canvas cb to clear buffers --- src/bin/e_comp_wl.c | 6 +++++- src/bin/e_pixmap.c | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c index 88e7e4c..bfc838c 100644 --- a/src/bin/e_comp_wl.c +++ b/src/bin/e_comp_wl.c @@ -2580,7 +2580,11 @@ e_comp_wl_surface_commit(E_Client *ec) e_pixmap_dirty(ep); /* refresh pixmap */ - e_pixmap_refresh(ep); + if (e_pixmap_refresh(ep)) + { + e_comp->post_updates = eina_list_append(e_comp->post_updates, ec); + e_object_ref(E_OBJECT(ec)); + } /* check for any pending attachments */ if (ec->comp_data->pending.new_attach) diff --git a/src/bin/e_pixmap.c b/src/bin/e_pixmap.c index 9382b58..fec0564 100644 --- a/src/bin/e_pixmap.c +++ b/src/bin/e_pixmap.c @@ -464,10 +464,9 @@ e_pixmap_refresh(E_Pixmap *cp) if (success) { /* if (cp->resource) _e_pixmap_resource_free(cp->resource); */ - e_pixmap_image_clear(cp, EINA_TRUE); + e_pixmap_image_clear(cp, EINA_FALSE); cp->resource = res; _e_pixmap_update_wl(cp); - e_pixmap_image_clear(cp, EINA_FALSE); } else { @@ -683,6 +682,7 @@ e_pixmap_image_clear(E_Pixmap *cp, Eina_Bool cache) { cp->resource_cache = eina_list_append(cp->resource_cache, cp->resource); + cp->resource = NULL; } } #endif --