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;
 }
 
 ///////////////////////////////////////////

-- 


Reply via email to