From 691b078efc2e91378dfe97ceec7b748c570ddfe3 Mon Sep 17 00:00:00 2001 From: Atlante45 Date: Fri, 13 Mar 2015 18:33:07 +0100 Subject: [PATCH] Fix the timeout crash --- libraries/networking/src/ResourceCache.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/libraries/networking/src/ResourceCache.cpp b/libraries/networking/src/ResourceCache.cpp index 658f32aba1..4596ac5146 100644 --- a/libraries/networking/src/ResourceCache.cpp +++ b/libraries/networking/src/ResourceCache.cpp @@ -224,8 +224,12 @@ void Resource::refresh() { } if (_reply) { ResourceCache::requestCompleted(this); - delete _reply; + _reply->disconnect(this); + _replyTimer->disconnect(this); + _reply->deleteLater(); _reply = nullptr; + _replyTimer->deleteLater(); + _replyTimer = nullptr; } init(); _request.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::AlwaysNetwork); @@ -296,9 +300,9 @@ void Resource::handleDownloadProgress(qint64 bytesReceived, qint64 bytesTotal) { return; } _reply->disconnect(this); + _replyTimer->disconnect(this); QNetworkReply* reply = _reply; _reply = nullptr; - _replyTimer->disconnect(this); _replyTimer->deleteLater(); _replyTimer = nullptr; ResourceCache::requestCompleted(this); @@ -369,9 +373,9 @@ void Resource::makeRequest() { void Resource::handleReplyError(QNetworkReply::NetworkError error, QDebug debug) { _reply->disconnect(this); + _replyTimer->disconnect(this); _reply->deleteLater(); _reply = nullptr; - _replyTimer->disconnect(this); _replyTimer->deleteLater(); _replyTimer = nullptr; ResourceCache::requestCompleted(this);