void enlil_tag_free(Enlil_Tag **tag) { Enlil_Photo *photo; ASSERT_RETURN_VOID(tag != NULL); Enlil_Tag *_tag = *tag; ASSERT_RETURN_VOID(_tag != NULL); if(_tag->free_cb) _tag->free_cb(_tag, _tag->user_data); EINA_STRINGSHARE_DEL(_tag->name); EINA_LIST_FREE(_tag->photos, photo) ; free(_tag); }
void main_menu_update_libraries_list() { Enlil_String *string; Eina_List *list = enlil_library_eet_path_load(); elm_gengrid_clear(libraries_list); // Library *lib = calloc(1, sizeof(Library)); lib->is_new_library = EINA_TRUE; lib->path = eina_stringshare_add("Add a new Library"); elm_gengrid_item_append(libraries_list, &itc_grid, lib, _library_select, NULL); // EINA_LIST_FREE(list, string) { Library *lib = calloc(1, sizeof(Library)); lib->is_new_library = EINA_FALSE; lib->path = eina_stringshare_add(string->string); lib->photo1 = enlil_photo_new(); Enlil_Photo_Data *photo_data1 = calloc(1, sizeof(Enlil_Photo_Data)); enlil_photo_user_data_set(lib->photo1, photo_data1, enlil_photo_data_free); enlil_photo_mustNotBeSaved_set(lib->photo1, EINA_TRUE); lib->photo2 = enlil_photo_new(); Enlil_Photo_Data *photo_data2 = calloc(1, sizeof(Enlil_Photo_Data)); enlil_photo_user_data_set(lib->photo2, photo_data2, enlil_photo_data_free); enlil_photo_mustNotBeSaved_set(lib->photo2, EINA_TRUE); photo_data1->library_item = elm_gengrid_item_append(libraries_list, &itc_grid, lib, _library_select, NULL); photo_data2->library_item = photo_data1->library_item; EINA_STRINGSHARE_DEL(string->string); FREE(string); }