From: Claudio Cambra Date: Thu, 23 Feb 2023 14:03:51 +0000 (+0100) Subject: Only instantiate sparkle updater if autoupdating is available X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~92^2^2~77^2~4 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=c9275743d1337275701d5c0d1a2e1c183f2ec00f;p=nextcloud-desktop.git Only instantiate sparkle updater if autoupdating is available Signed-off-by: Claudio Cambra --- diff --git a/src/gui/updater/sparkleupdater.h b/src/gui/updater/sparkleupdater.h index fab3050ba..c3ccc5f01 100644 --- a/src/gui/updater/sparkleupdater.h +++ b/src/gui/updater/sparkleupdater.h @@ -36,6 +36,8 @@ public: SparkleUpdater(const QUrl &appCastUrl); ~SparkleUpdater(); + static bool autoUpdaterAllowed(); + void setUpdateUrl(const QUrl &url); // unused in this updater diff --git a/src/gui/updater/sparkleupdater_mac.mm b/src/gui/updater/sparkleupdater_mac.mm index 71650454c..57dd04a1c 100644 --- a/src/gui/updater/sparkleupdater_mac.mm +++ b/src/gui/updater/sparkleupdater_mac.mm @@ -260,8 +260,7 @@ void SparkleUpdater::setUpdateUrl(const QUrl &url) [_interface->updater setFeedURL: nsurl]; } -// FIXME: Should be changed to not instantiate the SparkleUpdater at all in this case -bool autoUpdaterAllowed() +bool SparkleUpdater::autoUpdaterAllowed() { // See https://github.com/owncloud/client/issues/2931 NSString *bundlePath = [[NSBundle mainBundle] bundlePath]; diff --git a/src/gui/updater/updater.cpp b/src/gui/updater/updater.cpp index cb3dd3107..46393fcfb 100644 --- a/src/gui/updater/updater.cpp +++ b/src/gui/updater/updater.cpp @@ -57,7 +57,9 @@ QUrl Updater::updateUrl() auto urlQuery = getQueryParams(); #if defined(Q_OS_MAC) && defined(HAVE_SPARKLE) - urlQuery.addQueryItem(QLatin1String("sparkle"), QLatin1String("true")); + if (SparkleUpdater::autoUpdaterAllowed()) { + urlQuery.addQueryItem(QLatin1String("sparkle"), QLatin1String("true")); + } #endif #if defined(Q_OS_WIN) @@ -142,7 +144,11 @@ Updater *Updater::create() } #if defined(Q_OS_MACOS) && defined(HAVE_SPARKLE) && defined(BUILD_OWNCLOUD_OSX_BUNDLE) - return new SparkleUpdater(url); + if (SparkleUpdater::autoUpdaterAllowed()) { + return new SparkleUpdater(url); + } + + return new PassiveUpdateNotifier(url); #elif defined(Q_OS_WIN32) // Also for MSI return new NSISUpdater(url);