edje: once the swallowed object is cleared out do not let it there.
authorcedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 15 Jun 2012 01:06:50 +0000 (01:06 +0000)
committercedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 15 Jun 2012 01:06:50 +0000 (01:06 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/edje@72155 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/edje_util.c

index 59fc8b3..8476912 100644 (file)
@@ -92,6 +92,17 @@ _edje_user_definition_free(Edje_User_Defined *eud)
        child = eud->u.swallow.child;
        rp = _edje_real_part_recursive_get(eud->ed, eud->part);
        _edje_real_part_swallow_clear(rp);
+       rp->swallowed_object = NULL;
+       rp->swallow_params.min.w = 0;
+       rp->swallow_params.min.h = 0;
+       rp->swallow_params.max.w = 0; 
+       rp->swallow_params.max.h = 0;     
+       rp->edje->dirty = 1;
+       rp->edje->recalc_call = 1;        
+#ifdef EDJE_CALC_CACHE
+       rp->invalidate = 1;  
+#endif
+       _edje_recalc(rp->edje);
        break;
       case EDJE_USER_BOX_PACK:
        child = eud->u.box.child;
@@ -2820,7 +2831,6 @@ edje_object_part_unswallow(Evas_Object *obj, Evas_Object *obj_swallow)
           }
 
         _edje_real_part_swallow_clear(rp);
-
        rp->swallowed_object = NULL;
        rp->swallow_params.min.w = 0;
        rp->swallow_params.min.h = 0;
@@ -4926,9 +4936,6 @@ _edje_object_part_swallow_free_cb(void *data, Evas *e __UNUSED__, Evas_Object *o
           break;
        }
 
-   _edje_real_part_swallow_clear(rp);
-   rp->swallowed_object = NULL;
-
    return;
 }