WooHyun Jung (woohyun) <woohyun0705@gmail.com>
Guilherme Silveira <xguiga@gmail.com>
Robert David <robert.david.public@gmail.com>
+Bluezery <ohpowel@gmail.com>
Fixes:
* fix compilation on Solaris 11
+ * fix duplicate after programs in group inheritance.
Changes since Edje 1.7.1:
-------------------------
EINA_LIST_FOREACH(ep2->after, l, pa2)
{
- pa = mem_alloc(SZ(Edje_Program_After));
+ name = (char*) (pa2 + 1);
+ pa = mem_alloc(SZ(Edje_Program_After) + strlen(name) + 1);
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));
}
ep = current_program;
{
Edje_Program_After *pa;
+ Edje_Program_After *pa2;
+ Eina_List *l;
char *name;
+ char *copy;
name = parse_str(0);
- pa = mem_alloc(SZ(Edje_Program_After));
+ EINA_LIST_FOREACH(ep->after, l, pa2)
+ {
+ if (!strcmp(name, (char*) (pa2 + 1)))
+ {
+ free(name);
+ return;
+ }
+ }
+
+ pa = mem_alloc(SZ(Edje_Program_After) + strlen(name) + 1);
pa->id = -1;
ep->after = eina_list_append(ep->after, pa);
-
+ copy = (char*)(pa + 1);
+ memcpy(copy, name, strlen(name) + 1);
data_queue_program_lookup(pc, name, &(pa->id));
free(name);
}