aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChunEon Park <hermet@hermet.pe.kr>2013-11-22 14:02:40 +0900
committerChunEon Park <hermet@hermet.pe.kr>2013-11-22 14:06:47 +0900
commit58368ea63699291c535c78c9fcc6269c478ca511 (patch)
treeb85d91e7c5b865d82208941256ca631ba19d8981
parentevas: Let fix the mess in our header instead of sweeping it under the carpet. (diff)
downloadefl-58368ea63699291c535c78c9fcc6269c478ca511.tar.gz
edje - fix the side effect introduced by 12aba0db5a0949488d37b69b8696ed424666dca8
Now do recalc parts correctly when edje is moved.
-rw-r--r--src/lib/edje/edje_calc.c4
-rw-r--r--src/lib/edje/edje_private.h1
-rw-r--r--src/lib/edje/edje_smart.c4
3 files changed, 6 insertions, 3 deletions
diff --git a/src/lib/edje/edje_calc.c b/src/lib/edje/edje_calc.c
index 038882dbf7..21a1086a1b 100644
--- a/src/lib/edje/edje_calc.c
+++ b/src/lib/edje/edje_calc.c
@@ -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))
diff --git a/src/lib/edje/edje_private.h b/src/lib/edje/edje_private.h
index b6e0db909b..0ca1ca7c04 100644
--- a/src/lib/edje/edje_private.h
+++ b/src/lib/edje/edje_private.h
@@ -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
diff --git a/src/lib/edje/edje_smart.c b/src/lib/edje/edje_smart.c
index 7fb79a86e3..2e386ed5ff 100644
--- a/src/lib/edje/edje_smart.c
+++ b/src/lib/edje/edje_smart.c
@@ -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);