diff options
author | Jaehwan Kim <jae.hwan.kim@samsung.com> | 2012-08-07 18:03:25 +0900 |
---|---|---|
committer | Jaehwan Kim <jae.hwan.kim@samsung.com> | 2012-08-07 18:04:03 +0900 |
commit | 6319c761a2e2ba50b4c916284cb300f1ff3dd115 (patch) | |
tree | ee7983d1f93feeb6125a027ba7444902da2a01b6 /src/lib/edje_program.c | |
parent | 9d1ba0d03223a3017d2d0251dcaefb1f66ff879b (diff) | |
parent | ab7e8b5240ba7a2a73ed207b1a20834f28dbbd97 (diff) | |
download | edje-6319c761a2e2ba50b4c916284cb300f1ff3dd115.tar.gz edje-6319c761a2e2ba50b4c916284cb300f1ff3dd115.tar.bz2 edje-6319c761a2e2ba50b4c916284cb300f1ff3dd115.zip |
EFL core migration @74702
Merge remote-tracking branch 'origin/upstream' into HEAD
Conflicts:
ChangeLog
configure.ac
src/bin/edje_cc.c
src/bin/edje_cc_handlers.c
src/lib/edje_entry.c
src/lib/edje_multisense.c
Diffstat (limited to 'src/lib/edje_program.c')
-rw-r--r-- | src/lib/edje_program.c | 30 |
1 files changed, 13 insertions, 17 deletions
diff --git a/src/lib/edje_program.c b/src/lib/edje_program.c index 648e8ee..3346cf8 100644 --- a/src/lib/edje_program.c +++ b/src/lib/edje_program.c @@ -992,7 +992,7 @@ _edje_emit_full(Edje *ed, const char *sig, const char *src, void *data, void (*f break ; default: - ERR("SPANK SPANK SPANK !!!\nYou should never be here !"); +// ERR("SPANK SPANK SPANK !!!\nYou should never be here !"); break; } } @@ -1148,21 +1148,16 @@ _edje_emit_handle(Edje *ed, const char *sig, const char *src, Edje_Real_Part *rp; rp = _edje_real_part_get(ed, pr->filter.part ? pr->filter.part : src); - if (rp && !rp->program) - exec = (rp->chosen_description->state.name == pr->filter.state); - } - - pr->exec = exec; -#if 0 - if (exec) - { - _edje_program_run(ed, pr, 0, sig, src); - if (_edje_block_break(ed)) + if (rp) { - goto break_prog; + if (rp->program) + exec = EINA_FALSE; + else + exec = (rp->chosen_description->state.name == pr->filter.state); } } -#endif + + pr->exec = exec; } EINA_LIST_FOREACH(matches, l, pr) @@ -1280,7 +1275,7 @@ _edje_emit_cb(Edje *ed, const char *sig, const char *src, Edje_Message_Signal_Da if (ed->just_added_callbacks) _edje_callbacks_patterns_clean(ed); - ed->walking_callbacks = 1; + ed->walking_callbacks++; if (ed->callbacks) { @@ -1312,14 +1307,15 @@ _edje_emit_cb(Edje *ed, const char *sig, const char *src, Edje_Message_Signal_Da { escb->func(escb->data, ed->obj, sig, src); if (_edje_block_break(ed)) - goto break_prog; + break; } } } break_prog: - ed->walking_callbacks = 0; - if ((ed->delete_callbacks) || (ed->just_added_callbacks)) + ed->walking_callbacks--; + if (!ed->walking_callbacks && + ((ed->delete_callbacks) || (ed->just_added_callbacks))) { ed->delete_callbacks = 0; ed->just_added_callbacks = 0; |