diff -r 56cd8111b7f7 -r 41300fa6a67c src/network/access/qnetworkreplyimpl.cpp --- a/src/network/access/qnetworkreplyimpl.cpp Tue Jan 26 12:42:25 2010 +0200 +++ b/src/network/access/qnetworkreplyimpl.cpp Tue Feb 02 00:43:10 2010 +0200 @@ -273,7 +273,7 @@ if (state != Working) return; - while (!current.isEmpty()) { + while (state == Working && !current.isEmpty()) { InternalNotifications notification = current.dequeue(); switch (notification) { case NotifyDownstreamReadyWrite: @@ -580,7 +580,7 @@ void QNetworkReplyImpl::abort() { Q_D(QNetworkReplyImpl); - if (d->state == QNetworkReplyImplPrivate::Aborted) + if (d->state == QNetworkReplyImplPrivate::Finished || d->state == QNetworkReplyImplPrivate::Aborted) return; // stop both upload and download