forked from enlightenment/efl
All pointers aquired with efreet_desktop_get should be free'd with
efreet_desktop_free now. SVN revision: 30982
This commit is contained in:
parent
cd20fbc9d9
commit
4142475b16
|
@ -68,6 +68,8 @@ ef_cb_desktop_parse(void)
|
||||||
}
|
}
|
||||||
else ret = 0;
|
else ret = 0;
|
||||||
|
|
||||||
|
efreet_desktop_free(desktop);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -132,6 +134,7 @@ ef_cb_desktop_save(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("save data: %d\n", efreet_desktop_save(desktop));
|
printf("save data: %d\n", efreet_desktop_save(desktop));
|
||||||
|
efreet_desktop_free(desktop);
|
||||||
|
|
||||||
desktop = efreet_desktop_empty_new("/tmp/test.desktop");
|
desktop = efreet_desktop_empty_new("/tmp/test.desktop");
|
||||||
desktop->name = strdup("Efreet Test Application");
|
desktop->name = strdup("Efreet Test Application");
|
||||||
|
@ -144,12 +147,7 @@ ef_cb_desktop_save(void)
|
||||||
ecore_list_append(desktop->categories, strdup("Enlightenment"));
|
ecore_list_append(desktop->categories, strdup("Enlightenment"));
|
||||||
printf("save test: %d\n", efreet_desktop_save(desktop));
|
printf("save test: %d\n", efreet_desktop_save(desktop));
|
||||||
unlink("/tmp/test.desktop");
|
unlink("/tmp/test.desktop");
|
||||||
#if 0
|
efreet_desktop_free(desktop);
|
||||||
/* After saving a .desktop, it should be in the cache. This should then
|
|
||||||
* be destroyed with it. */
|
|
||||||
ecore_list_destroy(desktop->categories);
|
|
||||||
desktop->categories = NULL;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -365,6 +363,7 @@ ef_cb_desktop_type_parse(void)
|
||||||
Efreet_Desktop *desktop;
|
Efreet_Desktop *desktop;
|
||||||
int my_type;
|
int my_type;
|
||||||
char *val;
|
char *val;
|
||||||
|
int ret = 1;
|
||||||
|
|
||||||
/* add my custom desktop type to efreet */
|
/* add my custom desktop type to efreet */
|
||||||
my_type = efreet_desktop_type_add("My_Type", cb_type_parse, NULL,
|
my_type = efreet_desktop_type_add("My_Type", cb_type_parse, NULL,
|
||||||
|
@ -380,17 +379,18 @@ ef_cb_desktop_type_parse(void)
|
||||||
if (desktop->type != my_type)
|
if (desktop->type != my_type)
|
||||||
{
|
{
|
||||||
printf("Invalid type returned in desktop");
|
printf("Invalid type returned in desktop");
|
||||||
return 0;
|
ret = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
val = (char *)efreet_desktop_type_data_get(desktop);
|
val = (char *)efreet_desktop_type_data_get(desktop);
|
||||||
if (!val || strcmp(val, "Own key"))
|
if (!val || strcmp(val, "Own key"))
|
||||||
{
|
{
|
||||||
printf("Invalid value of custom key (%s).\n", val);
|
printf("Invalid value of custom key (%s).\n", val);
|
||||||
return 0;
|
ret = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 1;
|
efreet_desktop_free(desktop);
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -2472,6 +2472,7 @@ static void
|
||||||
efreet_menu_desktop_free(Efreet_Menu_Desktop *md)
|
efreet_menu_desktop_free(Efreet_Menu_Desktop *md)
|
||||||
{
|
{
|
||||||
IF_RELEASE(md->id);
|
IF_RELEASE(md->id);
|
||||||
|
if (md->desktop) efreet_desktop_free(md->desktop);
|
||||||
FREE(md);
|
FREE(md);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3414,6 +3415,7 @@ efreet_menu_directory_dirs_process(Efreet_Menu_Internal *internal)
|
||||||
{
|
{
|
||||||
internal->directory_cache = ecore_hash_new(ecore_str_hash, ecore_str_compare);
|
internal->directory_cache = ecore_hash_new(ecore_str_hash, ecore_str_compare);
|
||||||
ecore_hash_free_key_cb_set(internal->directory_cache, ECORE_FREE_CB(free));
|
ecore_hash_free_key_cb_set(internal->directory_cache, ECORE_FREE_CB(free));
|
||||||
|
ecore_hash_free_value_cb_set(internal->directory_cache, ECORE_FREE_CB(efreet_desktop_free));
|
||||||
|
|
||||||
ecore_dlist_last_goto(internal->directory_dirs);
|
ecore_dlist_last_goto(internal->directory_dirs);
|
||||||
while ((path = ecore_dlist_previous(internal->directory_dirs)))
|
while ((path = ecore_dlist_previous(internal->directory_dirs)))
|
||||||
|
|
|
@ -76,6 +76,8 @@ static void efreet_util_menus_find_helper(Ecore_List *menus, const char *config_
|
||||||
static void efreet_util_desktops_by_category_add(Efreet_Desktop *desktop);
|
static void efreet_util_desktops_by_category_add(Efreet_Desktop *desktop);
|
||||||
static void efreet_util_desktops_by_category_remove(Efreet_Desktop *desktop);
|
static void efreet_util_desktops_by_category_remove(Efreet_Desktop *desktop);
|
||||||
|
|
||||||
|
static void efreet_util_desktop_free(Efreet_Util_Desktop *ud);
|
||||||
|
|
||||||
static Ecore_Hash *desktop_by_file_id = NULL;
|
static Ecore_Hash *desktop_by_file_id = NULL;
|
||||||
static Ecore_Hash *file_id_by_desktop_path = NULL;
|
static Ecore_Hash *file_id_by_desktop_path = NULL;
|
||||||
static Ecore_Hash *desktops_by_category = NULL;
|
static Ecore_Hash *desktops_by_category = NULL;
|
||||||
|
@ -103,7 +105,7 @@ efreet_util_init(void)
|
||||||
EFREET_EVENT_DESKTOP_CHANGE = ecore_event_type_new();
|
EFREET_EVENT_DESKTOP_CHANGE = ecore_event_type_new();
|
||||||
desktop_by_file_id = ecore_hash_new(ecore_str_hash, ecore_str_compare);
|
desktop_by_file_id = ecore_hash_new(ecore_str_hash, ecore_str_compare);
|
||||||
ecore_hash_free_key_cb_set(desktop_by_file_id, ECORE_FREE_CB(ecore_string_release));
|
ecore_hash_free_key_cb_set(desktop_by_file_id, ECORE_FREE_CB(ecore_string_release));
|
||||||
ecore_hash_free_value_cb_set(desktop_by_file_id, free);
|
ecore_hash_free_value_cb_set(desktop_by_file_id, ECORE_FREE_CB(efreet_util_desktop_free));
|
||||||
|
|
||||||
file_id_by_desktop_path = ecore_hash_new(ecore_str_hash, ecore_str_compare);
|
file_id_by_desktop_path = ecore_hash_new(ecore_str_hash, ecore_str_compare);
|
||||||
ecore_hash_free_key_cb_set(file_id_by_desktop_path, ECORE_FREE_CB(ecore_string_release));
|
ecore_hash_free_key_cb_set(file_id_by_desktop_path, ECORE_FREE_CB(ecore_string_release));
|
||||||
|
@ -1044,3 +1046,12 @@ efreet_util_desktops_by_category_remove(Efreet_Desktop *desktop)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
efreet_util_desktop_free(Efreet_Util_Desktop *ud)
|
||||||
|
{
|
||||||
|
if (!ud) return;
|
||||||
|
|
||||||
|
efreet_desktop_free(ud->desktop);
|
||||||
|
free(ud);
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue