@@ -57,15 +57,22 @@ void QgsFileDownloader::startDownload()
57
57
QgsNetworkAccessManager* nam = QgsNetworkAccessManager::instance ();
58
58
59
59
QNetworkRequest request ( mUrl );
60
-
60
+ if ( mReply )
61
+ {
62
+ disconnect ( mReply , &QNetworkReply::readyRead, this , &QgsFileDownloader::onReadyRead );
63
+ disconnect ( mReply , &QNetworkReply::finished, this , &QgsFileDownloader::onFinished );
64
+ disconnect ( mReply , &QNetworkReply::downloadProgress, this , &QgsFileDownloader::onDownloadProgress );
65
+ mReply ->abort ();
66
+ mReply ->deleteLater ();
67
+ }
61
68
mReply = nam->get ( request );
62
69
63
70
connect ( mReply , &QNetworkReply::readyRead, this , &QgsFileDownloader::onReadyRead );
64
71
connect ( mReply , &QNetworkReply::finished, this , &QgsFileDownloader::onFinished );
65
72
connect ( mReply , &QNetworkReply::downloadProgress, this , &QgsFileDownloader::onDownloadProgress );
66
- connect ( nam, &QgsNetworkAccessManager::requestTimedOut, this , &QgsFileDownloader::onRequestTimedOut );
73
+ connect ( nam, &QgsNetworkAccessManager::requestTimedOut, this , &QgsFileDownloader::onRequestTimedOut, Qt::UniqueConnection );
67
74
#ifndef QT_NO_SSL
68
- connect ( nam, &QgsNetworkAccessManager::sslErrors, this , &QgsFileDownloader::onSslErrors );
75
+ connect ( nam, &QgsNetworkAccessManager::sslErrors, this , &QgsFileDownloader::onSslErrors, Qt::UniqueConnection );
69
76
#endif
70
77
if ( mGuiNotificationsEnabled )
71
78
{
0 commit comments