edje edje_cc_handlers.c: Fixed edje_cc bugs about data.item. Patch by Jaehwan Kim <jae.hwan.kim@samsung.com>

2011/9/30 Jaehwan Kim <jae.hwan.kim@samsung.com>:
>
> I found some bugs in edje_cc_handlers.c.
>
> One is about data.item. It is saved in hash list.
> When it is saved, I freed the memory of the key.
> But the memory is used. so I deleted the free(key).
>
> Second is it is possible in
st_collections_group_parts_part_description_state.
> So I changed the location of the conditional statement.
>
> Please apply this patch :)
>
> Jaehwan Kim.


SVN revision: 63822
This commit is contained in:
Daniel Juyung Seo 2011-10-05 06:37:06 +00:00
parent 7c5cbe6e3d
commit ec93b2a20a
1 changed files with 11 additions and 12 deletions

View File

@ -2023,7 +2023,6 @@ st_collections_group_inherit(void)
es = mem_alloc(SZ(Edje_String));
es = (Edje_String *)eina_hash_find(pc2->data, key);
eina_hash_direct_add(pc->data, key, es);
free(key);
}
}
@ -4206,19 +4205,19 @@ st_collections_group_parts_part_description_state(void)
sizeof (Edje_Part_Description_Common*) * ep->other.desc_count);
current_desc = ep->default_desc;
}
}
if (ep->other.desc_count)
{
unsigned int i;
for (i = 0; i < ep->other.desc_count - 1; ++i)
else if (ep->other.desc_count)
{
if (!strcmp(s, ep->other.desc[i]->state.name) && ed->state.value == ep->other.desc[i]->state.value)
unsigned int i;
for (i = 0; i < ep->other.desc_count - 1; ++i)
{
free(ed);
ep->other.desc_count--;
ep->other.desc = realloc(ep->other.desc,
sizeof (Edje_Part_Description_Common*) * ep->other.desc_count);
current_desc = ep->other.desc[i];
if (!strcmp(s, ep->other.desc[i]->state.name) && ed->state.value == ep->other.desc[i]->state.value)
{
free(ed);
ep->other.desc_count--;
ep->other.desc = realloc(ep->other.desc,
sizeof (Edje_Part_Description_Common*) * ep->other.desc_count);
current_desc = ep->other.desc[i];
}
}
}
}