edje - fix the side effect introduced by 12aba0db5a

Now do recalc parts correctly when edje is moved.
This commit is contained in:
ChunEon Park 2013-11-22 14:02:40 +09:00
parent e551f88a09
commit 58368ea636
3 changed files with 6 additions and 3 deletions

View File

@ -3352,7 +3352,7 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
(statep1 >= ep->param1.state) ||
proxy_invalidate ||
state ||
(ed->have_mapped_part && chosen_desc->map.on) ||
ed->need_map_update ||
((ep->part->type == EDJE_PART_TYPE_TEXT ||
ep->part->type == EDJE_PART_TYPE_TEXTBLOCK) &&
ed->text_part_change))
@ -3421,7 +3421,7 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
(statep2 >= ep->param2->state) ||
proxy_invalidate ||
state ||
(ed->have_mapped_part && chosen_desc->map.on) ||
ed->need_map_update ||
((ep->part->type == EDJE_PART_TYPE_TEXT ||
ep->part->type == EDJE_PART_TYPE_TEXTBLOCK) &&
ed->text_part_change))

View File

@ -1370,6 +1370,7 @@ struct _Edje
Eina_Bool recalc_call : 1;
Eina_Bool update_hints : 1;
Eina_Bool recalc_hints : 1;
Eina_Bool need_map_update : 1;
};
struct _Edje_Calc_Params_Map

View File

@ -200,8 +200,10 @@ _edje_smart_move(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
if (ed->have_mapped_part)
{
ed->dirty = EINA_TRUE;
_edje_recalc_do(ed);
ed->have_mapped_part = EINA_FALSE;
ed->need_map_update = EINA_TRUE;
_edje_recalc_do(ed);
ed->need_map_update = EINA_FALSE;
}
// _edje_emit(ed, "move", NULL);