diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c index c22900244..2cf02b47a 100644 --- a/src/bin/e_comp.c +++ b/src/bin/e_comp.c @@ -299,7 +299,7 @@ static Eina_Bool _e_comp_client_update(E_Client *ec) { int pw, ph; - Eina_Bool post = EINA_FALSE; + Eina_Bool post = !e_pixmap_is_x(ec->pixmap); DBG("UPDATE [%p] pm = %p", ec, ec->pixmap); if (e_object_is_del(E_OBJECT(ec))) return EINA_FALSE; diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c index 2fa8a56e0..700d15982 100644 --- a/src/bin/e_comp_wl.c +++ b/src/bin/e_comp_wl.c @@ -1771,12 +1771,7 @@ _e_comp_wl_subsurface_commit_from_cache(E_Client *ec) e_comp_wl_buffer_reference(&sdata->cached_buffer_ref, NULL); - /* schedule repaint */ - if (e_pixmap_refresh(ec->pixmap)) - { - e_comp->post_updates = eina_list_append(e_comp->post_updates, ec); - e_object_ref(E_OBJECT(ec)); - } + e_pixmap_refresh(ec->pixmap); } static void @@ -2802,12 +2797,8 @@ e_comp_wl_surface_commit(E_Client *ec) _e_comp_wl_surface_state_commit(ec, &ec->comp_data->pending); ignored = ec->ignored; - /* schedule repaint */ - if (e_pixmap_refresh(ec->pixmap)) - { - e_comp->post_updates = eina_list_append(e_comp->post_updates, ec); - e_object_ref(E_OBJECT(ec)); - } + + e_pixmap_refresh(ec->pixmap); if (!e_pixmap_usable_get(ec->pixmap)) {