From 403afe21fc50da16f58ecc9497d97159a19d0e1c Mon Sep 17 00:00:00 2001 From: Gustavo Sverzut Barbieri Date: Tue, 9 Oct 2007 15:30:26 +0000 Subject: [PATCH] Fix edje calculation of max width for swallowed parts. If you have a SWALLOW part taking the whole window and then swallow an object with max set using edje_extern_object_max_size_set() it will not take effect due the comparison of ep->swallow_params.max.w < -1 (desc->max.w is -1 in this case). SVN revision: 32029 --- legacy/edje/src/lib/edje_calc.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/legacy/edje/src/lib/edje_calc.c b/legacy/edje/src/lib/edje_calc.c index ff745a9a53..31246c425c 100644 --- a/legacy/edje/src/lib/edje_calc.c +++ b/legacy/edje/src/lib/edje_calc.c @@ -260,16 +260,18 @@ _edje_part_recalc_single(Edje *ed, minw = desc->min.w; if (ep->swallow_params.min.w > desc->min.w) minw = ep->swallow_params.min.w; maxw = desc->max.w; - if ((ep->swallow_params.max.w >= 0) && - (ep->swallow_params.max.w < maxw)) maxw = ep->swallow_params.max.w; + if (((ep->swallow_params.max.w >= 0) && (desc->max.w >= 0) && + (ep->swallow_params.max.w < maxw)) || + (ep->swallow_params.max.w >= 0)) maxw = ep->swallow_params.max.w; } // if (flags & FLAG_Y) { minh = desc->min.h; if (ep->swallow_params.min.h > desc->min.h) minh = ep->swallow_params.min.h; maxh = desc->max.h; - if ((ep->swallow_params.max.h >= 0) && - (ep->swallow_params.max.h < maxh)) maxh = ep->swallow_params.max.h; + if (((ep->swallow_params.max.h >= 0) && (desc->max.h >= 0) && + (ep->swallow_params.max.h < maxh)) || + (ep->swallow_params.max.h >= 0)) maxh = ep->swallow_params.max.h; } /* relative coords of top left & bottom right */ if (flags & FLAG_X)