From: Tomasz Marciniak Date: Fri, 1 Jul 2016 05:05:59 +0000 (+0200) Subject: [Download] Added destroy_download() in case of failure. X-Git-Tag: submit/tizen/20160704.023021~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8a48758fadc89b2313f27e3a39a947806d4d2ea4;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git [Download] Added destroy_download() in case of failure. [Verification] Code compiles. TCT pass rate 100% Change-Id: Iae9d68114317c81766ab09bec2d567e49fe2495c Signed-off-by: Tomasz Marciniak --- diff --git a/src/download/download_instance.cc b/src/download/download_instance.cc index 97ff27c0..ad114c01 100755 --- a/src/download/download_instance.cc +++ b/src/download/download_instance.cc @@ -407,7 +407,10 @@ gboolean DownloadInstance::OnFailed(void* user_data) { return FALSE; } - LoggerD("OnFailed for callbackID %d Called", downCbPtr->callbackId); + int callback_id = downCbPtr->callbackId; + DownloadInfoPtr diPtr = downCbPtr->instance->diMap[callback_id]; + + LoggerD("OnFailed for callbackID %d called", callback_id); download_get_error(downCbPtr->downloadId, &error); @@ -416,10 +419,18 @@ gboolean DownloadInstance::OnFailed(void* user_data) { ("download_get_error error: %d (%s)", error, get_error_message(error))); } + int ret = download_destroy(diPtr->download_id); + if (DOWNLOAD_ERROR_NONE != ret) { + LoggerE("%s", get_error_message(ret)); + } + out["callbackId"] = picojson::value(static_cast(downCbPtr->callbackId)); Instance::PostMessage(downCbPtr->instance, picojson::value(out).serialize().c_str()); + downCbPtr->instance->download_callbacks.erase(callback_id); + delete (downCbPtr); + return FALSE; }