--- nextcloud-client-2.5.3.orig/src/3rdparty/kmessagewidget/kmessagewidget.cpp 2019-07-26 18:40:34.949349387 +0000 +++ nextcloud-client-2.5.3/src/3rdparty/kmessagewidget/kmessagewidget.cpp 2019-07-26 18:41:39.866478051 +0000 @@ -105,6 +105,9 @@ q->setMessageType(KMessageWidget::Information); } +template +constexpr typename std::add_const::type &qAsConst(T &t) noexcept { return t; } + void KMessageWidgetPrivate::createLayout() { delete content->layout(); --- b/src/libsync/abstractnetworkjob.cpp +++ a/src/libsync/abstractnetworkjob.cpp @@ -160,37 +160,6 @@ void AbstractNetworkJob::slotFinished() qCWarning(lcNetworkJob) << "SslHandshakeFailedError: " << errorString() << " : can be caused by a webserver wanting SSL client certificates"; } - // Qt doesn't yet transparently resend HTTP2 requests, do so here - const auto maxHttp2Resends = 5; - QByteArray verb = requestVerb(*reply()); - if (_reply->error() == QNetworkReply::ContentReSendError - && _reply->attribute(QNetworkRequest::HTTP2WasUsedAttribute).toBool()) { - - if ((_requestBody && !_requestBody->isSequential()) || verb.isEmpty()) { - qCWarning(lcNetworkJob) << "Can't resend HTTP2 request, verb or body not suitable" - << _reply->request().url() << verb << _requestBody; - } else if (_http2ResendCount >= maxHttp2Resends) { - qCWarning(lcNetworkJob) << "Not resending HTTP2 request, number of resends exhausted" - << _reply->request().url() << _http2ResendCount; - } else { - qCInfo(lcNetworkJob) << "HTTP2 resending" << _reply->request().url(); - _http2ResendCount++; - - resetTimeout(); - if (_requestBody) { - if(!_requestBody->isOpen()) - _requestBody->open(QIODevice::ReadOnly); - _requestBody->seek(0); - } - sendRequest( - verb, - _reply->request().url(), - _reply->request(), - _requestBody); - return; - } - } - if (_reply->error() != QNetworkReply::NoError) { if (!_ignoreCredentialFailure || _reply->error() != QNetworkReply::AuthenticationRequiredError) { qCWarning(lcNetworkJob) << _reply->error() << errorString() --- b/src/libsync/abstractnetworkjob.h +++ a/src/libsync/abstractnetworkjob.h @@ -188,8 +188,7 @@ private: QPointer _reply; // (QPointer because the NetworkManager may be destroyed before the jobs at exit) QString _path; QTimer _timer; - int _redirectCount = 0; - int _http2ResendCount = 0; + int _redirectCount; // Set by the xyzRequest() functions and needed to be able to redirect // requests, should it be required.