From 88f091754ae172845621c6be21c4b4912aeb8fa4 Mon Sep 17 00:00:00 2001 From: Cedric BAIL Date: Wed, 11 Jul 2012 09:26:37 +0000 Subject: [PATCH] edje: little bug fixes when rp could have been already destroyed. SVN revision: 73556 --- legacy/edje/src/lib/edje_util.c | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/legacy/edje/src/lib/edje_util.c b/legacy/edje/src/lib/edje_util.c index 9305e7501e..3ffef34485 100644 --- a/legacy/edje/src/lib/edje_util.c +++ b/legacy/edje/src/lib/edje_util.c @@ -91,18 +91,21 @@ _edje_user_definition_free(Edje_User_Defined *eud) case EDJE_USER_SWALLOW: 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; + if (rp) + { + _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; + rp->invalidate = 1; #endif - _edje_recalc_do(rp->edje); + _edje_recalc_do(rp->edje); + } break; case EDJE_USER_BOX_PACK: child = eud->u.box.child;