discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=256378577cfb34d762104bd1858ab07daa3de229

commit 256378577cfb34d762104bd1858ab07daa3de229
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Mon Feb 2 17:40:11 2015 -0500

    Revert "ref/free client pixmaps during hide animations"
    
    This reverts commit bbb04ecb32736cc2ed781b1ac29dd7fbcf7dcb42.
    
    also fixed by deferred resource releasing
---
 src/bin/e_comp_object.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c
index 7944df0..4b78de8 100644
--- a/src/bin/e_comp_object.c
+++ b/src/bin/e_comp_object.c
@@ -631,24 +631,20 @@ static void
 _e_comp_object_done_defer(void *data, Evas_Object *obj EINA_UNUSED, const char 
*emission, const char *source EINA_UNUSED)
 {
    E_Comp_Object *cw = data;
-   Eina_Bool hiding;
 
    //INF("DONE DEFER %p: %dx%d - %s", cw->ec, cw->w, cw->h, emission);
    /* visible clients which have never been sized are a bug */
    if ((!cw->ec->new_client) && (!cw->ec->changes.size) && ((cw->w < 0) || 
(cw->h < 0)) && (!strcmp(emission, "e,action,show,done")))
      CRI("ACK!");
-   hiding = !strcmp(emission, "e,action,hide,done");
    if (cw->animating)
      {
         cw->animating--;
         cw->comp->animating--;
-        if (hiding)
-          e_pixmap_free(cw->ec->pixmap);
         /* remove ref from animation start, account for possibility of 
deletion from unref */
         if (!e_object_unref(E_OBJECT(cw->ec))) return;
      }
    /* hide only after animation finishes to guarantee a full run of the 
animation */
-   if (cw->defer_hide && hiding)
+   if (cw->defer_hide && (!strcmp(emission, "e,action,hide,done")))
      evas_object_hide(cw->smart_obj);
    else if (!cw->animating)
      e_comp_shape_queue(cw->comp);
@@ -1279,7 +1275,6 @@ _e_comp_intercept_hide(void *data, Evas_Object *obj)
                   cw->comp->animating++;
                   cw->animating++;
                   e_object_ref(E_OBJECT(cw->ec));
-                  e_pixmap_ref(cw->ec->pixmap);
                }
              cw->defer_hide = !!cw->animating;
              if (!cw->animating)

-- 


Reply via email to