fix after programs to work p[roperly with delayed actions

SVN revision: 7286
This commit is contained in:
Carsten Haitzler 2003-08-05 11:51:28 +00:00
parent a10f2be051
commit 90de8fe0f4
1 changed files with 14 additions and 4 deletions

View File

@ -302,10 +302,10 @@ _edje_program_run(Edje *ed, Edje_Program *pr, int force)
static int recursions = 0;
static int recursion_limit = 0;
if ((pr->in.from != 0.0) && (pr->in.range != 0.0) && (!force))
if ((pr->in.from > 0.0) && (pr->in.range >= 0.0) && (!force))
{
Edje_Pending_Program *pp;
double r;
double r = 0.0;
pp = calloc(1, sizeof(Edje_Pending_Program));
if (!pp) return;
@ -436,7 +436,17 @@ _edje_program_run(Edje *ed, Edje_Program *pr, int force)
{
_edje_emit(ed, "program,start", pr->name);
_edje_emit(ed, pr->state, pr->state2);
_edje_emit(ed, "program,start", pr->name);
_edje_emit(ed, "program,stop", pr->name);
}
if (pr->action != EDJE_ACTION_TYPE_STATE_SET)
{
if (pr->after >= 0)
{
Edje_Program *pr2;
pr2 = evas_list_nth(ed->collection->programs, pr->after);
if (pr2) _edje_program_run(ed, pr2, 0);
}
}
_edje_unref(ed);
_edje_thaw(ed);
@ -462,7 +472,7 @@ _edje_emit(Edje *ed, char *sig, char *src)
recursions++;
_edje_ref(ed);
_edje_freeze(ed);
// printf("EMIT \"%s\" \"%s\"\n", sig, src);
printf("EMIT \"%s\" \"%s\"\n", sig, src);
ee = calloc(1, sizeof(Edje_Emission));
if (!ee)
{