From: Ivailo Monev Date: Wed, 20 Jan 2021 10:18:43 +0000 (+0200) Subject: use virtual methods for SSL configuration of QNetworkReply X-Git-Tag: 4.12.0~2745 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=bf7d9dea4f56429c1afdab3b1084623e0e9e226e;p=kde%2FKatie.git use virtual methods for SSL configuration of QNetworkReply Signed-off-by: Ivailo Monev --- diff --git a/src/network/access/qnetworkreply.cpp b/src/network/access/qnetworkreply.cpp index 6d81086eb..7ccaddb74 100644 --- a/src/network/access/qnetworkreply.cpp +++ b/src/network/access/qnetworkreply.cpp @@ -560,15 +560,7 @@ QVariant QNetworkReply::attribute(QNetworkRequest::Attribute code) const */ QSslConfiguration QNetworkReply::sslConfiguration() const { - QSslConfiguration config; - - // determine if we support this extension - int id = metaObject()->indexOfMethod("sslConfigurationImplementation()"); - if (id != -1) { - void *arr[] = { &config, 0 }; - const_cast(this)->qt_metacall(QMetaObject::InvokeMetaMethod, id, arr); - } - return config; + return QSslConfiguration(); } /*! @@ -577,15 +569,7 @@ QSslConfiguration QNetworkReply::sslConfiguration() const */ void QNetworkReply::setSslConfiguration(const QSslConfiguration &config) { - if (config.isNull()) - return; - - int id = metaObject()->indexOfMethod("setSslConfigurationImplementation(QSslConfiguration)"); - if (id != -1) { - QSslConfiguration copy(config); - void *arr[] = { 0, © }; - qt_metacall(QMetaObject::InvokeMetaMethod, id, arr); - } + Q_UNUSED(config); } /*! @@ -611,14 +595,7 @@ void QNetworkReply::setSslConfiguration(const QSslConfiguration &config) */ void QNetworkReply::ignoreSslErrors(const QList &errors) { - // do this cryptic trick, because we could not add a virtual method to this class later on - // since that breaks binary compatibility - int id = metaObject()->indexOfMethod("ignoreSslErrorsImplementation(QList)"); - if (id != -1) { - QList copy(errors); - void *arr[] = { 0, © }; - qt_metacall(QMetaObject::InvokeMetaMethod, id, arr); - } + Q_UNUSED(errors); } /*! diff --git a/src/network/access/qnetworkreply.h b/src/network/access/qnetworkreply.h index 42b234a79..2df449272 100644 --- a/src/network/access/qnetworkreply.h +++ b/src/network/access/qnetworkreply.h @@ -124,9 +124,9 @@ public: // attributes QVariant attribute(QNetworkRequest::Attribute code) const; - QSslConfiguration sslConfiguration() const; - void setSslConfiguration(const QSslConfiguration &configuration); - void ignoreSslErrors(const QList &errors); + virtual QSslConfiguration sslConfiguration() const; + virtual void setSslConfiguration(const QSslConfiguration &configuration); + virtual void ignoreSslErrors(const QList &errors); public Q_SLOTS: virtual void ignoreSslErrors(); diff --git a/src/network/access/qnetworkreplyimpl.cpp b/src/network/access/qnetworkreplyimpl.cpp index ddbe045a4..e2e7a62e5 100644 --- a/src/network/access/qnetworkreplyimpl.cpp +++ b/src/network/access/qnetworkreplyimpl.cpp @@ -945,7 +945,7 @@ void QNetworkReplyImpl::setReadBufferSize(qint64 size) } } -QSslConfiguration QNetworkReplyImpl::sslConfigurationImplementation() const +QSslConfiguration QNetworkReplyImpl::sslConfiguration() const { Q_D(const QNetworkReplyImpl); QSslConfiguration config; @@ -954,7 +954,7 @@ QSslConfiguration QNetworkReplyImpl::sslConfigurationImplementation() const return config; } -void QNetworkReplyImpl::setSslConfigurationImplementation(const QSslConfiguration &config) +void QNetworkReplyImpl::setSslConfiguration(const QSslConfiguration &config) { Q_D(QNetworkReplyImpl); if (d->backend && !config.isNull()) @@ -968,7 +968,7 @@ void QNetworkReplyImpl::ignoreSslErrors() d->backend->ignoreSslErrors(); } -void QNetworkReplyImpl::ignoreSslErrorsImplementation(const QList &errors) +void QNetworkReplyImpl::ignoreSslErrors(const QList &errors) { Q_D(QNetworkReplyImpl); if (d->backend) diff --git a/src/network/access/qnetworkreplyimpl_p.h b/src/network/access/qnetworkreplyimpl_p.h index 8fefb5d37..60004fd9a 100644 --- a/src/network/access/qnetworkreplyimpl_p.h +++ b/src/network/access/qnetworkreplyimpl_p.h @@ -79,10 +79,10 @@ public: virtual qint64 readData(char *data, qint64 maxlen); virtual bool event(QEvent *); - Q_INVOKABLE QSslConfiguration sslConfigurationImplementation() const; - Q_INVOKABLE void setSslConfigurationImplementation(const QSslConfiguration &configuration); + virtual QSslConfiguration sslConfiguration() const; + virtual void setSslConfiguration(const QSslConfiguration &configuration); virtual void ignoreSslErrors(); - Q_INVOKABLE virtual void ignoreSslErrorsImplementation(const QList &errors); + virtual void ignoreSslErrors(const QList &errors); Q_DECLARE_PRIVATE(QNetworkReplyImpl) Q_PRIVATE_SLOT(d_func(), void _q_startOperation())