Merge "Fix bug when use media_info_move_to_db()" into tizen
[platform/core/api/media-content.git] / src / media_info.c
index 53fbf61..6d8ba72 100644 (file)
@@ -1379,6 +1379,7 @@ int media_info_move_to_db(media_info_h media, const char* dst_path)
 {
        int ret = MEDIA_CONTENT_ERROR_NONE;
        char repl_path[MAX_PATH_LEN] = {0, };
+       media_info_s *_info = NULL;
 
        content_retip_if_fail(media);
        content_retip_if_fail(STRING_VALID(dst_path));
@@ -1403,7 +1404,27 @@ int media_info_move_to_db(media_info_h media, const char* dst_path)
        content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
        ret = media_svc_move_item(_content_get_db_handle(), _media->file_path, repl_path, _media->media_id, _media->media_type, _media->mime_type, _content_get_uid());
-       return _content_error_capi(ret);
+       ret = _content_error_capi(ret);
+       content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
+
+       /* Update media_info handle */
+       _info = g_new0(media_info_s, 1);
+
+       ret = _media_info_get_media_info_from_db(repl_path, (media_info_h)_info);
+
+       SAFE_FREE(_media->display_name);
+       _media->display_name = g_strdup(_info->display_name);
+       SAFE_FREE(_media->file_path);
+       _media->file_path = g_strdup(_info->file_path);
+       _media->storage_type = _info->storage_type;
+       SAFE_FREE(_media->storage_uuid);
+       _media->storage_uuid = g_strdup(_info->storage_uuid);
+       SAFE_FREE(_media->thumbnail_path);
+       _media->thumbnail_path = NULL;
+
+       media_info_destroy((media_info_h)_info);
+
+       return ret;
 }
 
 int media_info_create_thumbnail(media_info_h media, media_thumbnail_completed_cb callback, void *user_data)