static Edje_Program *current_program = NULL;
static Eina_List *current_program_lookups = NULL;
Eina_Bool current_group_inherit = EINA_FALSE;
+Eina_Bool script_override = EINA_FALSE;
static Edje_Program *sequencing = NULL;
static Eina_List *sequencing_lookups = NULL;
current_part = NULL;
current_desc = NULL;
-
current_group_inherit = EINA_FALSE;
+ script_override = EINA_FALSE;
current_de = mem_alloc(SZ(Edje_Part_Collection_Directory_Entry));
current_de->id = eina_list_count(edje_collections);
cd2 = eina_list_nth(codes, de->id);
cd = eina_list_data_get(eina_list_last(codes));
+ cd->is_lua = cd2->is_lua;
+ cd->shared = cd2->shared;
+ cd->original = cd2->original;
+ script_override = EINA_TRUE;
+
EINA_LIST_FOREACH(cd2->programs, l, cp2)
{
cp = mem_alloc(SZ(Code_Program));
cp->l2 = cp2->l2;
cp->script = STRDUP(cp2->script);
cp->original = STRDUP(cp2->original);
- cd->is_lua = cd2->is_lua;
- cd->shared = cd2->shared;
- cd->original = cd2->original;
cd->programs = eina_list_append(cd->programs, cp);
data_queue_copied_anonymous_lookup(pc, &(cp2->id), &(cp->id));
}
cd->l2 = get_verbatim_line2();
if (cd->shared)
{
- ERR("parse error %s:%i. There is already an existing script section for the group",
- file_in, line - 1);
- exit(-1);
+ if (script_override)
+ {
+ free(cd->shared);
+ free(cd->original);
+ script_override = EINA_FALSE;
+ }
+ else
+ {
+ ERR("parse error %s:%i. There is already an existing script section for the group",
+ file_in, line - 1);
+ exit(-1);
+ }
}
cd->shared = s;
cd->original = strdup(s);