diff options
Diffstat (limited to 'src/network/access')
-rw-r--r-- | src/network/access/qhttpnetworkconnection.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/network/access/qhttpnetworkconnection.cpp b/src/network/access/qhttpnetworkconnection.cpp index 6d568220e2..87511076d3 100644 --- a/src/network/access/qhttpnetworkconnection.cpp +++ b/src/network/access/qhttpnetworkconnection.cpp @@ -864,6 +864,19 @@ void QHttpNetworkConnectionPrivate::removeReply(QHttpNetworkReply *reply) return; } } +#ifndef QT_NO_SSL + // is the reply inside the SPDY pipeline of this channel already? + QMultiMap<int, HttpMessagePair>::iterator it = channels[i].spdyRequestsToSend.begin(); + QMultiMap<int, HttpMessagePair>::iterator end = channels[i].spdyRequestsToSend.end(); + for (; it != end; ++it) { + if (it.value().second == reply) { + channels[i].spdyRequestsToSend.remove(it.key()); + + QMetaObject::invokeMethod(q, "_q_startNextRequest", Qt::QueuedConnection); + return; + } + } +#endif } // remove from the high priority queue if (!highPriorityQueue.isEmpty()) { |