forked from enlightenment/efl
edje: fix a leak when propagating signal to GROUP part.
SVN revision: 75808
This commit is contained in:
parent
e629c76ecd
commit
26de40cb12
|
@ -808,6 +808,7 @@ _edje_object_file_set_internal(Evas_Object *obj, const char *file, const char *g
|
||||||
obj);
|
obj);
|
||||||
if (rp->part->type == EDJE_PART_TYPE_GROUP)
|
if (rp->part->type == EDJE_PART_TYPE_GROUP)
|
||||||
{
|
{
|
||||||
|
ed->groups = eina_list_append(ed->groups, _edje_fetch(child_obj));
|
||||||
_edje_real_part_swallow(rp, child_obj, EINA_TRUE);
|
_edje_real_part_swallow(rp, child_obj, EINA_TRUE);
|
||||||
_edje_subobj_register(ed, child_obj);
|
_edje_subobj_register(ed, child_obj);
|
||||||
source = NULL;
|
source = NULL;
|
||||||
|
@ -1088,6 +1089,8 @@ _edje_file_del(Edje *ed)
|
||||||
|
|
||||||
if (ed->obj) tev = evas_object_evas_get(ed->obj);
|
if (ed->obj) tev = evas_object_evas_get(ed->obj);
|
||||||
|
|
||||||
|
ed->groups = eina_list_free(ed->groups);
|
||||||
|
|
||||||
if (tev) evas_event_freeze(tev);
|
if (tev) evas_event_freeze(tev);
|
||||||
if (ed->freeze_calc)
|
if (ed->freeze_calc)
|
||||||
{
|
{
|
||||||
|
|
|
@ -63,16 +63,7 @@ edje_object_message_signal_process(Evas_Object *obj)
|
||||||
ed = _edje_fetch(obj);
|
ed = _edje_fetch(obj);
|
||||||
if (!ed) return;
|
if (!ed) return;
|
||||||
|
|
||||||
groups = eina_list_append(groups, ed);
|
groups = ed->groups;
|
||||||
for (i = 0; i < ed->table_parts_size; i++)
|
|
||||||
{
|
|
||||||
Edje_Real_Part *rp;
|
|
||||||
|
|
||||||
rp = ed->table_parts[i];
|
|
||||||
if (rp->part->type == EDJE_PART_TYPE_GROUP && rp->swallowed_object)
|
|
||||||
groups = eina_list_append(groups,
|
|
||||||
_edje_fetch(rp->swallowed_object));
|
|
||||||
}
|
|
||||||
|
|
||||||
EINA_LIST_FOREACH_SAFE(msgq, l, ln, em)
|
EINA_LIST_FOREACH_SAFE(msgq, l, ln, em)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1140,6 +1140,8 @@ struct _Edje
|
||||||
int table_programs_size;
|
int table_programs_size;
|
||||||
unsigned int table_parts_size;
|
unsigned int table_parts_size;
|
||||||
|
|
||||||
|
Eina_List *groups;
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
Eina_Hash *text_class;
|
Eina_Hash *text_class;
|
||||||
Eina_Hash *color_class;
|
Eina_Hash *color_class;
|
||||||
|
|
Loading…
Reference in New Issue