From 163927ada9acf5c322d6786358e3e4d4c092c981 Mon Sep 17 00:00:00 2001 From: Daniel Nicoletti Date: Sun, 1 Nov 2020 10:12:37 -0300 Subject: [PATCH] Fix compilation on Qt 5.15 --- CMakeLists.txt | 2 +- src/sender.cpp | 8 ++++++-- src/server.cpp | 10 +++++++--- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e79be7c..6b577ee 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -70,7 +70,7 @@ add_definitions( -DQT_USE_QSTRINGBUILDER -DQT_NO_SIGNALS_SLOTS_KEYWORDS -DQT_USE_FAST_OPERATOR_PLUS - -DQT_DISABLE_DEPRECATED_BEFORE=0x050c00 + -DQT_DISABLE_DEPRECATED_BEFORE=0x050f00 ) include_directories( diff --git a/src/sender.cpp b/src/sender.cpp index f47f216..e064016 100644 --- a/src/sender.cpp +++ b/src/sender.cpp @@ -145,9 +145,13 @@ void Sender::setConnectionType(ConnectionType connectionType) connect(static_cast(d->socket), static_cast &)>(&QSslSocket::sslErrors),this, &Sender::sslErrors, Qt::DirectConnection); } connect(d->socket, &QTcpSocket::stateChanged, this, &Sender::socketStateChanged); - connect(d->socket, static_cast(&QTcpSocket::error), - this, &Sender::socketError); connect(d->socket, &QTcpSocket::readyRead, this, &Sender::socketReadyRead); + +#if (QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)) + connect(d->socket, &QTcpSocket::errorOccurred, this, &Sender::socketError); +#else + connect(d->socket, static_cast(&QTcpSocket::error), this, &Sender::socketError); +#endif } QString Sender::user() const diff --git a/src/server.cpp b/src/server.cpp index 7cbef9f..4deca26 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -234,8 +234,7 @@ void ServerPrivate::createSocket() state = WaitingForServiceReady220; }); - q->connect(socket, static_cast(&QTcpSocket::error), - q, [=] (QAbstractSocket::SocketError error) { + auto erroFn = [=] (QAbstractSocket::SocketError error) { qCDebug(SIMPLEMAIL_SERVER) << "SocketError" << error << socket->readAll(); if (!queue.isEmpty()) { ServerReplyContainer &cont = queue[0]; @@ -247,7 +246,12 @@ void ServerPrivate::createSocket() queue.removeFirst(); } } - }); + }; +#if (QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)) + q->connect(socket, &QTcpSocket::errorOccurred, q, erroFn); +#else + q->connect(socket, static_cast(&QTcpSocket::error), q, erroFn); +#endif q->connect(socket, &QTcpSocket::readyRead, q, [=] { qCDebug(SIMPLEMAIL_SERVER) << "readyRead" << socket->bytesAvailable();