void *data_queue_program_lookup(Edje_Part_Collection *pc, const char *name, int *dest);
void program_lookup_rename(void *p, const char *name);
void copied_program_lookup_delete(Edje_Part_Collection *pc, const char *name);
-void data_queue_copied_program_lookup(Edje_Part_Collection *pc, int *src, int *dest);
+Eina_Bool data_queue_copied_program_lookup(Edje_Part_Collection *pc, int *src, int *dest);
void copied_program_anonymous_lookup_delete(Edje_Part_Collection *pc, int *dest);
void data_queue_anonymous_lookup(Edje_Part_Collection *pc, Edje_Program *ep, int *dest);
void data_queue_copied_anonymous_lookup(Edje_Part_Collection *pc, int *src, int *dest);
ep->after = eina_list_append(ep->after, pa);
copy = (char*) (pa + 1);
memcpy(copy, name, strlen(name) + 1);
- data_queue_copied_program_lookup(pc, &(pa2->id), &(pa->id));
+ if (!data_queue_copied_program_lookup(pc, &(pa2->id), &(pa->id)))
+ data_queue_program_lookup(pc, copy, &(pa->id));
}
ep->api.name = STRDUP(ep2->api.name);
}
}
-void
+Eina_Bool
data_queue_copied_program_lookup(Edje_Part_Collection *pc, int *src, int *dest)
{
Eina_List *l;
EINA_LIST_FOREACH(program_lookups, l, pl)
{
if (pl->dest == src)
- data_queue_program_lookup(pc, pl->u.name, dest);
+ {
+ data_queue_program_lookup(pc, pl->u.name, dest);
+ return EINA_TRUE;
+ }
}
+ return EINA_FALSE;
}
void