forked from enlightenment/enlightenment
- free the list elements as well as the list itself
- free the "change" too SVN revision: 20753
This commit is contained in:
parent
6f947b507c
commit
0e28ec541a
|
@ -162,6 +162,7 @@ _e_gadget_face_new(E_Gadget *gad, E_Container *con, E_Zone *zone)
|
||||||
{
|
{
|
||||||
change->gadget = gad;
|
change->gadget = gad;
|
||||||
change->face = face;
|
change->face = face;
|
||||||
|
face->change = change;
|
||||||
}
|
}
|
||||||
e_gadman_client_change_func_set(face->gmc, _e_gadget_face_cb_gmc_change, change);
|
e_gadman_client_change_func_set(face->gmc, _e_gadget_face_cb_gmc_change, change);
|
||||||
|
|
||||||
|
@ -254,10 +255,12 @@ _e_gadget_free(E_Gadget *gad)
|
||||||
e_object_unref(E_OBJECT(face->con));
|
e_object_unref(E_OBJECT(face->con));
|
||||||
e_object_del(E_OBJECT(face->gmc));
|
e_object_del(E_OBJECT(face->gmc));
|
||||||
e_object_del(E_OBJECT(face->menu));
|
e_object_del(E_OBJECT(face->menu));
|
||||||
|
E_FREE(face->change);
|
||||||
|
|
||||||
if (face->main_obj) evas_object_del(face->main_obj);
|
if (face->main_obj) evas_object_del(face->main_obj);
|
||||||
if (face->event_obj) evas_object_del(face->event_obj);
|
if (face->event_obj) evas_object_del(face->event_obj);
|
||||||
if(gad->funcs.face_free) (gad->funcs.face_free)(gad->data, face);
|
if(gad->funcs.face_free) (gad->funcs.face_free)(gad->data, face);
|
||||||
|
E_FREE(face);
|
||||||
}
|
}
|
||||||
|
|
||||||
evas_list_free(gad->faces);
|
evas_list_free(gad->faces);
|
||||||
|
|
|
@ -58,6 +58,7 @@ struct _E_Gadget_Face
|
||||||
Evas_Object *main_obj;
|
Evas_Object *main_obj;
|
||||||
Evas_Object *event_obj;
|
Evas_Object *event_obj;
|
||||||
E_Gadman_Client *gmc;
|
E_Gadman_Client *gmc;
|
||||||
|
E_Gadget_Change *change;
|
||||||
|
|
||||||
void *data;
|
void *data;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue