list = data;
+ r = media_info_get_media_id(m, &mediaid);
+ if (r != MEDIA_CONTENT_ERROR_NONE || !mediaid) {
+ _ERR("failed to get media id");
+ return false;
+ }
+
r = media_info_get_thumbnail_path(m, &thumb);
if (r != MEDIA_CONTENT_ERROR_NONE || !thumb) {
_ERR("failed to get thumb");
+ free(mediaid);
return false;
}
- r = media_info_get_media_id(m, &mediaid);
- if (r != MEDIA_CONTENT_ERROR_NONE || !mediaid)
- _ERR("failed to get media id");
-
favorite = false;
r = app_contents_favorite_check(CONTENTS_PHOTO, mediaid, &favorite);
if (r != APP_CONTENTS_ERROR_NONE)
di = calloc(1, sizeof(*di));
if (!di) {
_ERR("failed to calloc datamgr item");
+ free(mediaid);
+ free(thumb);
return false;
}
di->icon = strdup(thumb);
*list = eina_list_append(*list, di);
+ free(mediaid);
+ free(thumb);
+
return true;
}
static void _unload_photo(struct datamgr *dm)
{
- char *thumb;
+ struct datamgr_item *di;
- EINA_LIST_FREE(dm->list, thumb)
- free(thumb);
+ EINA_LIST_FREE(dm->list, di) {
+ free(di->icon);
+ free(di->focus_icon);
+
+ free(di);
+ }
dm->list = NULL;
}