clouseau: fixed some mem leaks

Signed-off-by: Aharon Hillel <a.hillel@partner.samsung.com>

SVN revision: 71054
This commit is contained in:
Aharon Hillel 2012-05-14 14:40:41 +00:00 committed by Tom Hacohen
parent 09e3b992ac
commit 799e609ce7
4 changed files with 23 additions and 9 deletions

View File

@ -152,6 +152,16 @@ _add_app(gui_elements *g, Variant_st *v)
_add_app_to_dd_list(g->dd_list, st);
}
static void
_free_app(app_data_st *st)
{
free(st->app);
if (st->td)
free(st->td);
free(st);
}
static void
_remove_app(gui_elements *g, Variant_st *v)
{
@ -171,13 +181,8 @@ _remove_app(gui_elements *g, Variant_st *v)
if (st)
{ /* Remove from list and free all variants */
/* TODO: Remove app from Drop Down List */
apps = eina_list_remove(apps, st);
free(st->app);
if (st->td)
free(st->td);
free(st);
_free_app(st);
if (!elm_hoversel_expanded_get(g->dd_list))
{
@ -529,11 +534,11 @@ _cancel_bt_clicked(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *e
}
static void
_ok_bt_clicked(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
_ok_bt_clicked(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
{ /* Set the IP, PORT, then connect to server */
_dismiss_inwin(data);
if(!_connect_to_daemon(gui))
if(!_connect_to_daemon(data))
{
printf("Failed to connect to server.\n");
elm_exit(); /* exit the program's main loop that runs in elm_run() */
@ -732,6 +737,11 @@ elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
elm_run();
elm_shutdown();
/* cleanup - free apps data */
void *st;
EINA_LIST_FREE(apps, st)
_free_app(st);
data_descriptors_shutdown();
if (gui->address)
free(gui->address);

View File

@ -241,7 +241,7 @@ tree_item_desc_make(void)
EET_DATA_DESCRIPTOR_ADD_BASIC(d, Tree_Item, "ptr",
ptr, EET_T_UINT);
EET_DATA_DESCRIPTOR_ADD_SUB(d, Tree_Item, "info",
info, Obj_Information_desc_make());
info, desc->obj_info);
EET_DATA_DESCRIPTOR_ADD_BASIC(d, Tree_Item, "is_obj",
is_obj, EET_T_UCHAR);
EET_DATA_DESCRIPTOR_ADD_BASIC(d, Tree_Item, "is_clipper",
@ -262,6 +262,7 @@ data_descriptors_init(void)
Eet_Data_Descriptor_Class eddc;
desc->obj_info = Obj_Information_desc_make();
desc->tree = tree_item_desc_make();
desc->connect = connect_desc_make();
desc->app_add = app_add_desc_make();
@ -320,6 +321,7 @@ data_descriptors_shutdown(void)
eet_data_descriptor_free(desc->app_closed);
eet_data_descriptor_free(desc->highlight);
eet_data_descriptor_free(desc->tree);
eet_data_descriptor_free(desc->obj_info);
eet_data_descriptor_free(desc->_variant_descriptor );
eet_data_descriptor_free(desc->_variant_unified_descriptor);

View File

@ -106,6 +106,7 @@ struct _data_desc
Eet_Data_Descriptor *app_closed;
Eet_Data_Descriptor *highlight;
Eet_Data_Descriptor *tree;
Eet_Data_Descriptor *obj_info;
Eet_Data_Descriptor *_variant_descriptor;
Eet_Data_Descriptor *_variant_unified_descriptor;
};

View File

@ -168,6 +168,7 @@ _data(void *data EINA_UNUSED, int type EINA_UNUSED, Ecore_Ipc_Event_Server_Data
break;
}
free(v);
return ECORE_CALLBACK_RENEW;
}