summaryrefslogtreecommitdiffstats
path: root/src/network/access/qhttpnetworkconnectionchannel.cpp
diff options
context:
space:
mode:
authorMårten Nordheim <marten.nordheim@qt.io>2020-08-11 11:28:21 +0200
committerMårten Nordheim <marten.nordheim@qt.io>2020-08-12 11:38:00 +0200
commit27b1d1a1b24c37786c2cd1f9bdbe5917d97a4772 (patch)
treed16ad6937825fda7f14dbe5a2ea1f746a1840bb7 /src/network/access/qhttpnetworkconnectionchannel.cpp
parent7448884bb42a863b802f63c0a5bd2409ff15ba98 (diff)
HTTP/2: Don't handle Remote Disconnected if we haven't switched yet
In that case we haven't created the h2 handler yet, so it will crash when trying to access various members. Task-number: QTBUG-85902 Change-Id: Id0699ff06ef67748a16622703f731db0b0867771 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Diffstat (limited to 'src/network/access/qhttpnetworkconnectionchannel.cpp')
-rw-r--r--src/network/access/qhttpnetworkconnectionchannel.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/network/access/qhttpnetworkconnectionchannel.cpp b/src/network/access/qhttpnetworkconnectionchannel.cpp
index ba05e75794..b85d718f5f 100644
--- a/src/network/access/qhttpnetworkconnectionchannel.cpp
+++ b/src/network/access/qhttpnetworkconnectionchannel.cpp
@@ -979,7 +979,8 @@ void QHttpNetworkConnectionChannel::_q_error(QAbstractSocket::SocketError socket
// this check is under this condition in 'if'):
if (protocolHandler.data()) {
if (connection->connectionType() == QHttpNetworkConnection::ConnectionTypeHTTP2Direct
- || connection->connectionType() == QHttpNetworkConnection::ConnectionTypeHTTP2) {
+ || (connection->connectionType() == QHttpNetworkConnection::ConnectionTypeHTTP2
+ && switchedToHttp2)) {
auto h2Handler = static_cast<QHttp2ProtocolHandler *>(protocolHandler.data());
h2Handler->handleConnectionClosure();
protocolHandler.reset();