diff --git a/src/app/handlers/xdgurl.cpp b/src/app/handlers/xdgurl.cpp index 0a7e442ce16fd1f3faae8868d8aa33791b83b116..fa37eebf48a2323c7d5a514ed243d42a88bac5ab 100644 --- a/src/app/handlers/xdgurl.cpp +++ b/src/app/handlers/xdgurl.cpp @@ -81,6 +81,7 @@ void XdgUrl::networkResourceFinished(qtlibs::NetworkResource *resource) QJsonObject result; result["status"] = QString("error_network"); result["message"] = resource->reply()->errorString(); + resource->deleteLater(); emit finishedWithError(result); return; } @@ -176,10 +177,13 @@ void XdgUrl::saveDownloadedFile(qtlibs::NetworkResource *resource) if (!resource->saveData(path)) { result["status"] = QString("error_save"); result["message"] = QString("Failed to save data as " + path); + resource->deleteLater(); emit finishedWithError(result); return; } + resource->deleteLater(); + destination_ = destination; result["status"] = QString("success_download"); @@ -196,10 +200,13 @@ void XdgUrl::installDownloadedFile(qtlibs::NetworkResource *resource) if (!resource->saveData(tempPath)) { result["status"] = QString("error_save"); result["message"] = QString("Failed to save data as " + tempPath); + resource->deleteLater(); emit finishedWithError(result); return; } + resource->deleteLater(); + qtlibs::Package package(tempPath); qtlibs::File tempFile(tempPath);