From ada6e4fbe9f363a33d4f9341bbc468d22c0c1442 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Thu, 15 Oct 2020 13:23:02 +0200 Subject: Fix some bad uses of QSharedPointerData::operator T* Avoid detaching where possible Change-Id: I438d3e66689aeef05951af86a48af2a6910da7c2 Reviewed-by: Thiago Macieira Reviewed-by: Giuseppe D'Angelo --- src/network/access/qabstractnetworkcache.cpp | 20 +++++++++++--------- src/network/ssl/qsslconfiguration.cpp | 5 +++-- src/network/ssl/qsslcontext_openssl.cpp | 2 +- 3 files changed, 15 insertions(+), 12 deletions(-) (limited to 'src/network') diff --git a/src/network/access/qabstractnetworkcache.cpp b/src/network/access/qabstractnetworkcache.cpp index 4e217294c4..06e21d1b88 100644 --- a/src/network/access/qabstractnetworkcache.cpp +++ b/src/network/access/qabstractnetworkcache.cpp @@ -232,9 +232,10 @@ QUrl QNetworkCacheMetaData::url() const */ void QNetworkCacheMetaData::setUrl(const QUrl &url) { - d->url = url; - d->url.setPassword(QString()); - d->url.setFragment(QString()); + auto *p = d.data(); + p->url = url; + p->url.setPassword(QString()); + p->url.setFragment(QString()); } /*! @@ -395,12 +396,13 @@ static inline QDataStream &operator>>(QDataStream &in, QNetworkCacheMetaData::At void QNetworkCacheMetaDataPrivate::load(QDataStream &in, QNetworkCacheMetaData &metaData) { - in >> metaData.d->url; - in >> metaData.d->expirationDate; - in >> metaData.d->lastModified; - in >> metaData.d->saveToDisk; - in >> metaData.d->attributes; - in >> metaData.d->headers; + auto *p = metaData.d.data(); + in >> p->url; + in >> p->expirationDate; + in >> p->lastModified; + in >> p->saveToDisk; + in >> p->attributes; + in >> p->headers; } /*! diff --git a/src/network/ssl/qsslconfiguration.cpp b/src/network/ssl/qsslconfiguration.cpp index 4b41d84633..916774db04 100644 --- a/src/network/ssl/qsslconfiguration.cpp +++ b/src/network/ssl/qsslconfiguration.cpp @@ -630,12 +630,13 @@ void QSslConfiguration::setCiphers(const QList &ciphers) */ void QSslConfiguration::setCiphers(const QString &ciphers) { - d->ciphers.clear(); + auto *p = d.data(); + p->ciphers.clear(); const auto cipherNames = ciphers.split(QLatin1Char(':'), Qt::SkipEmptyParts); for (const QString &cipherName : cipherNames) { QSslCipher cipher(cipherName); if (!cipher.isNull()) - d->ciphers << cipher; + p->ciphers << cipher; } } diff --git a/src/network/ssl/qsslcontext_openssl.cpp b/src/network/ssl/qsslcontext_openssl.cpp index 5fb7172583..a8d92bd80d 100644 --- a/src/network/ssl/qsslcontext_openssl.cpp +++ b/src/network/ssl/qsslcontext_openssl.cpp @@ -194,7 +194,7 @@ SSL* QSslContext::createSsl() } #ifndef OPENSSL_NO_NEXTPROTONEG - QList protocols = sslConfiguration.d->nextAllowedProtocols; + QList protocols = sslConfiguration.d.constData()->nextAllowedProtocols; if (!protocols.isEmpty()) { m_supportedNPNVersions.clear(); for (int a = 0; a < protocols.count(); ++a) { -- cgit v1.2.3