aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Jahn <lnj@kaidan.im>2022-09-30 21:42:10 +0200
committerLinus Jahn <lnj@kaidan.im>2022-09-30 21:42:10 +0200
commitb66cf3d8e1482dbddcc5f2e828bf2259cc9bfcab (patch)
tree4ede546b6e8ad068d29efeb569f2e6a2a206de27
parent87e8c5dd6ae7eb77cd8d0d6b1dd1eb74da01ed58 (diff)
downloadqxmpp-b66cf3d8e1482dbddcc5f2e828bf2259cc9bfcab.tar.gz
Fix build with Qt 5.9
-rw-r--r--src/client/QXmppHttpFileSharingProvider.cpp7
-rw-r--r--src/client/QXmppHttpUploadManager.cpp8
2 files changed, 15 insertions, 0 deletions
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<QIODevice>(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<QXmppHttpUpload> QXmppHttpUploadManager::uploadFile(std::unique_
}
auto future = client()->findExtension<QXmppUploadRequestManager>()->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<QXmppHttpUpload> 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;