From fd4519f8a1ed890131518a8e673262141c1b3ccc Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Mon, 11 Jan 2016 18:27:35 -0500 Subject: [PATCH] edje: unswallow objects from parent edje when swallowing into new edje the passed edje is not guaranteed to be the one which owns the swallowed object at any given time, so get the current owner to ensure that the correct one is passed ref a645c8153f82c593920190416b8115b546b3668f #MasterOfAllBorkers @fix --- src/lib/edje/edje_util.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lib/edje/edje_util.c b/src/lib/edje/edje_util.c index cdf1f5c..221bd1d 100644 --- a/src/lib/edje/edje_util.c +++ b/src/lib/edje/edje_util.c @@ -3500,10 +3500,13 @@ _edje_object_part_swallow(Eo *obj EINA_UNUSED, Edje *ed, const char *part, Evas_ rpcur = evas_object_data_get(obj_swallow, "\377 edje.swallowing_part"); if (rpcur) { + Edje *sed; + /* the object is already swallowed in the requested part */ if (rpcur == rp) return EINA_TRUE; + sed = evas_object_data_get(obj_swallow, ".edje"); /* The object is already swallowed somewhere, unswallow it first */ - edje_object_part_unswallow(ed->obj, obj_swallow); + edje_object_part_unswallow(sed->obj, obj_swallow); } if (!rp) -- 2.7.4