From ca2f7a8f775eb5d54345d785d13ec70cb0d8e029 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Wed, 23 Nov 2011 10:42:58 +0000 Subject: [PATCH] lookup duplicate targets and skip new target if already in list. SVN revision: 65535 --- legacy/edje/src/bin/edje_cc_handlers.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/legacy/edje/src/bin/edje_cc_handlers.c b/legacy/edje/src/bin/edje_cc_handlers.c index 474348bd1d..67ea8ca8f6 100644 --- a/legacy/edje/src/bin/edje_cc_handlers.c +++ b/legacy/edje/src/bin/edje_cc_handlers.c @@ -7571,6 +7571,15 @@ st_collections_group_programs_program_target(void) char *copy; name = parse_str(0); + + EINA_LIST_FOREACH(ep->targets, l, etw) + { + if (!strcmp(name, (char*) (etw + 1))) + { + free(name); + return; + } + } et = mem_alloc(SZ(Edje_Program_Target) + strlen(name) + 1); ep->targets = eina_list_append(ep->targets, et); @@ -7599,14 +7608,6 @@ st_collections_group_programs_program_target(void) progname, file_in, line - 1); exit(-1); } - EINA_LIST_FOREACH(ep->targets, l, etw) - if (et != etw && strcmp(name, (char*) (etw + 1)) == 0) - { - ERR("%s: Error. parse error %s:%i. " - "target is targetted twice", - progname, file_in, line - 1); - exit(-1); - } free(name); } }