From b66cf3d8e1482dbddcc5f2e828bf2259cc9bfcab Mon Sep 17 00:00:00 2001 From: Linus Jahn Date: Fri, 30 Sep 2022 21:42:10 +0200 Subject: Fix build with Qt 5.9 --- src/client/QXmppHttpFileSharingProvider.cpp | 7 +++++++ src/client/QXmppHttpUploadManager.cpp | 8 ++++++++ 2 files changed, 15 insertions(+) (limited to 'src') diff --git a/src/client/QXmppHttpFileSharingProvider.cpp b/src/client/QXmppHttpFileSharingProvider.cpp index db4323d7..8222dab1 100644 --- a/src/client/QXmppHttpFileSharingProvider.cpp +++ b/src/client/QXmppHttpFileSharingProvider.cpp @@ -164,9 +164,16 @@ auto QXmppHttpFileSharingProvider::downloadFile(const std::any &source, std::uni reply->deleteLater(); }); +#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0) QObject::connect(reply, &QNetworkReply::readyRead, [file = std::move(target), reply]() { file->write(reply->readAll()); }); +#else + auto file = std::shared_ptr(std::move(target)); + QObject::connect(reply, &QNetworkReply::readyRead, [file, reply]() { + file->write(reply->readAll()); + }); +#endif QObject::connect(reply, &QNetworkReply::downloadProgress, [=](qint64 bytesReceived, qint64 bytesTotal) { download->reportProgress(bytesReceived, bytesTotal); diff --git a/src/client/QXmppHttpUploadManager.cpp b/src/client/QXmppHttpUploadManager.cpp index 7feac738..46242d5f 100644 --- a/src/client/QXmppHttpUploadManager.cpp +++ b/src/client/QXmppHttpUploadManager.cpp @@ -299,7 +299,11 @@ std::shared_ptr QXmppHttpUploadManager::uploadFile(std::unique_ } auto future = client()->findExtension()->requestSlot(filename, fileSize, mimeType, uploadServiceJid); +#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0) await(future, this, [this, upload, data = std::move(data)](SlotResult result) mutable { +#else + await(future, this, [this, upload, rawSourceDevice = data.release()](SlotResult result) mutable { +#endif // first check whether upload was cancelled in the meantime if (upload->d->cancelled) { upload->d->reportFinished(); @@ -327,7 +331,11 @@ std::shared_ptr QXmppHttpUploadManager::uploadFile(std::unique_ request.setRawHeader(itr.key().toUtf8(), itr.value().toUtf8()); } +#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0) auto *rawSourceDevice = data.release(); +#else + // already defined in lambda capture +#endif auto *reply = d->netManager->put(request, rawSourceDevice); rawSourceDevice->setParent(reply); upload->d->reply = reply; -- cgit v1.2.3