From 183d6375f0baf6b5dac1a470f59a748f48dde711 Mon Sep 17 00:00:00 2001 From: Manuel Nickschas Date: Fri, 12 Mar 2021 15:25:34 +0100 Subject: [PATCH 1/1] qa: Resolve Qt deprecation warnings - use sslHandshakeErrors Qt 5.15 introduced a new and improved signal name for accessing SSL handshake errors, and at the same time started issuing a deprecation warning for the old one, so we need some ifdefs for clean compilation. --- src/client/clientauthhandler.cpp | 4 ++++ src/qtui/mainwin.cpp | 8 +++++++- src/qtui/sslinfodlg.cpp | 11 +++++++++-- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/client/clientauthhandler.cpp b/src/client/clientauthhandler.cpp index 260128b7..083b2dd2 100644 --- a/src/client/clientauthhandler.cpp +++ b/src/client/clientauthhandler.cpp @@ -410,7 +410,11 @@ void ClientAuthHandler::onSslSocketEncrypted() auto* socket = qobject_cast(sender()); Q_ASSERT(socket); +#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0) if (!socket->sslErrors().count()) { +#else + if (!socket->sslHandshakeErrors().count()) { +#endif // Cert is valid, so we don't want to store it as known // That way, a warning will appear in case it becomes invalid at some point CoreAccountSettings s; diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index 84246b82..acfe79fa 100644 --- a/src/qtui/mainwin.cpp +++ b/src/qtui/mainwin.cpp @@ -1384,8 +1384,14 @@ void MainWin::handleNoSslInCore(bool* accepted) void MainWin::handleSslErrors(const QSslSocket* socket, bool* accepted, bool* permanently) { QString errorString = ""; QMessageBox box(QMessageBox::Warning, diff --git a/src/qtui/sslinfodlg.cpp b/src/qtui/sslinfodlg.cpp index d1b845ef..67f0dd56 100644 --- a/src/qtui/sslinfodlg.cpp +++ b/src/qtui/sslinfodlg.cpp @@ -67,12 +67,19 @@ void SslInfoDlg::setCurrentCert(int index) ui.issuerState->setText(issuerInfo(cert, QSslCertificate::StateOrProvinceName)); ui.issuerCity->setText(issuerInfo(cert, QSslCertificate::LocalityName)); - if (socket()->sslErrors().isEmpty()) +#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0) + const auto& sslErrors = socket()->sslErrors(); +#else + const auto& sslErrors = socket()->sslHandshakeErrors(); +#endif + if (sslErrors.isEmpty()) { ui.trusted->setText(tr("Yes")); + } else { QString errorString = tr("No, for the following reasons:"; ui.trusted->setText(errorString); } -- 2.20.1