Fix crashes due to deletion resources owned by QNetworkAccessManager

This commit is contained in:
Timon Wong 2013-05-08 22:50:06 +08:00
parent 3583ac5b4a
commit abf027ab70
2 changed files with 7 additions and 7 deletions

View file

@ -14,19 +14,19 @@ WebMultimediaDownload::WebMultimediaDownload( QUrl const & url,
void WebMultimediaDownload::cancel()
{
reply.reset();
reply = NULL;
finish();
}
void WebMultimediaDownload::replyFinished( QNetworkReply * r )
{
if ( r != reply.get() )
if ( r != reply )
return; // Not our reply
if ( reply->error() == QNetworkReply::NoError )
if ( r->error() == QNetworkReply::NoError )
{
QByteArray all = reply->readAll();
QByteArray all = r->readAll();
Mutex::Lock _( dataMutex );
@ -37,11 +37,11 @@ void WebMultimediaDownload::replyFinished( QNetworkReply * r )
hasAnyData = true;
}
else
setErrorString( reply->errorString() );
setErrorString( r->errorString() );
finish();
reply.reset();
reply = NULL;
}
bool WebMultimediaDownload::isAudioUrl( QUrl const & url )

View file

@ -12,7 +12,7 @@ class WebMultimediaDownload: public DataRequest
{
Q_OBJECT
sptr< QNetworkReply > reply;
QNetworkReply * reply;
public: