rendered paste bodydiff --git a/src/network/access/qnetworkaccesshttpbackend.cpp b/src/network/access/qnetworkaccesshttpbackend.cppindex f005939..ea5f48e 100644--- a/src/network/access/qnetworkaccesshttpbackend.cpp+++ b/src/network/access/qnetworkaccesshttpbackend.cpp@@ -155,7 +155,7 @@ protected: }; QNetworkAccessHttpBackend::QNetworkAccessHttpBackend()- : QNetworkAccessBackend(), httpReply(0), http(0), uploadDevice(0)+ : QNetworkAccessBackend(), httpReply(0), http(0), uploadDevice(0), pendingSslConfiguration(0) { }@@ -163,6 +163,7 @@ QNetworkAccessHttpBackend::~QNetworkAccessHttpBackend() { if (http) disconnectFromHttp();+ delete pendingSslConfiguration; } void QNetworkAccessHttpBackend::disconnectFromHttp()@@ -251,6 +252,11 @@ void QNetworkAccessHttpBackend::postRequest() httpReply = http->sendRequest(httpRequest); httpReply->setParent(this);+ if (pendingSslConfiguration) {+ httpReply->setSslConfiguration(*pendingSslConfiguration);+ delete pendingSslConfiguration;+ pendingSslConfiguration = 0;+ } connect(httpReply, SIGNAL(readyRead()), SLOT(replyReadyRead())); connect(httpReply, SIGNAL(finished()), SLOT(replyFinished()));@@ -595,12 +601,20 @@ void QNetworkAccessHttpBackend::ignoreSslErrors() void QNetworkAccessHttpBackend::fetchSslConfiguration(QSslConfiguration &config) const {- config = httpReply->sslConfiguration();+ if (httpReply)+ config = httpReply->sslConfiguration();+ else if (pendingSslConfiguration)+ config = *pendingSslConfiguration; } void QNetworkAccessHttpBackend::setSslConfiguration(const QSslConfiguration &newconfig) {- httpReply->setSslConfiguration(newconfig);+ if (httpReply)+ httpReply->setSslConfiguration(newconfig);+ else if (pendingSslConfiguration)+ *pendingSslConfiguration = newconfig;+ else+ pendingSslConfiguration = new QSslConfiguration(newconfig); } #endifdiff --git a/src/network/access/qnetworkaccesshttpbackend_p.h b/src/network/access/qnetworkaccesshttpbackend_p.hindex 15cfcb5..514def2 100644--- a/src/network/access/qnetworkaccesshttpbackend_p.h+++ b/src/network/access/qnetworkaccesshttpbackend_p.h@@ -77,6 +77,9 @@ private: QHttpNetworkReply *httpReply; QPointer<QNetworkAccessHttpBackendCache> http; QNetworkAccessHttpBackendIODevice *uploadDevice;+#ifndef QT_NO_OPENSSL+ QSslConfiguration *pendingSslConfiguration;+#endif void finished(); // override void disconnectFromHttp();