From: Michael Schuster Date: Mon, 2 Mar 2020 00:47:00 +0000 (+0100) Subject: Fix build with older Qt: Disable http2 for now due to Qt bug, add env var (upstream) X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~222^2^2~341^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=f90f31756a719e02122f6cd8ee112a13da768dfd;p=nextcloud-desktop.git Fix build with older Qt: Disable http2 for now due to Qt bug, add env var (upstream) Disable http2 for now due to Qt bug but allow enabling it via env var, see: https://github.com/owncloud/client/pull/7620 and: https://github.com/nextcloud/desktop/pull/1806 Issue: https://github.com/nextcloud/desktop/issues/1503 Co-authored-by: XNG Co-authored-by: Hannah von Reth Signed-off-by: Michael Schuster --- diff --git a/src/libsync/accessmanager.cpp b/src/libsync/accessmanager.cpp index 6564ae0c8..8cba1a71d 100644 --- a/src/libsync/accessmanager.cpp +++ b/src/libsync/accessmanager.cpp @@ -93,12 +93,19 @@ QNetworkReply *AccessManager::createRequest(QNetworkAccessManager::Operation op, qInfo(lcAccessManager) << op << verb << newRequest.url().toString() << "has X-Request-ID" << requestId; newRequest.setRawHeader("X-Request-ID", requestId); +#if QT_VERSION >= QT_VERSION_CHECK(5, 9, 4) + // only enable HTTP2 with Qt 5.9.4 because old Qt have too many bugs (e.g. QTBUG-64359 is fixed in >= Qt 5.9.4) - // Disable http2 for now due to Qt bug + /* Disable http2 for now due to Qt bug but allow enabling it via env var, see: https://github.com/owncloud/client/pull/7620 + * and: https://github.com/nextcloud/desktop/pull/1806 + * Issue: https://github.com/nextcloud/desktop/issues/1503 + */ if (newRequest.url().scheme() == "https") { // Not for "http": QTBUG-61397 - newRequest.setAttribute(QNetworkRequest::HTTP2AllowedAttribute, false); - } + static const bool http2EnabledEnv = qEnvironmentVariableIntValue("OWNCLOUD_HTTP2_ENABLED") == 1; + newRequest.setAttribute(QNetworkRequest::HTTP2AllowedAttribute, http2EnabledEnv); + } +#endif return QNetworkAccessManager::createRequest(op, newRequest, outgoingData); }