discomfitor pushed a commit to branch enlightenment-0.20. http://git.enlightenment.org/core/enlightenment.git/commit/?id=1a6dac4677e550b639a1d986770b5d144dcd3034
commit 1a6dac4677e550b639a1d986770b5d144dcd3034 Author: Derek Foreman <der...@osg.samsung.com> Date: Thu Feb 11 17:07:16 2016 -0600 Move pixmap free to client free from client destroy Under wayland we need the pixmaps to exist until after the close animations finish, even if clients can perform new rendering. @fix --- src/bin/e_client.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/bin/e_client.c b/src/bin/e_client.c index 7235374..2d2d7fb 100644 --- a/src/bin/e_client.c +++ b/src/bin/e_client.c @@ -462,6 +462,10 @@ _e_client_revert_focus(E_Client *ec) static void _e_client_free(E_Client *ec) { + if (e_pixmap_free(ec->pixmap)) + e_pixmap_client_set(ec->pixmap, NULL); + ec->pixmap = NULL; + e_comp_object_redirected_set(ec->frame, 0); e_comp_object_render_update_del(ec->frame); @@ -663,9 +667,6 @@ _e_client_del(E_Client *ec) eina_hash_del_by_key(clients_hash[e_pixmap_type_get(ec->pixmap)], &ec->pixmap); e_comp->clients = eina_list_remove(e_comp->clients, ec); e_comp_object_render_update_del(ec->frame); - if (e_pixmap_free(ec->pixmap)) - e_pixmap_client_set(ec->pixmap, NULL); - ec->pixmap = NULL; } /////////////////////////////////////////// --