diff options
| author | Linus Jahn <lnj@kaidan.im> | 2022-09-30 21:42:10 +0200 |
|---|---|---|
| committer | Linus Jahn <lnj@kaidan.im> | 2022-09-30 21:42:10 +0200 |
| commit | b66cf3d8e1482dbddcc5f2e828bf2259cc9bfcab (patch) | |
| tree | 4ede546b6e8ad068d29efeb569f2e6a2a206de27 | |
| parent | 87e8c5dd6ae7eb77cd8d0d6b1dd1eb74da01ed58 (diff) | |
| download | qxmpp-b66cf3d8e1482dbddcc5f2e828bf2259cc9bfcab.tar.gz | |
Fix build with Qt 5.9
| -rw-r--r-- | src/client/QXmppHttpFileSharingProvider.cpp | 7 | ||||
| -rw-r--r-- | src/client/QXmppHttpUploadManager.cpp | 8 |
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; |
