]> dgit.raspbian.org Git - nextcloud-desktop.git/commitdiff
Only update private colors if received capabilities colors are valid
authorClaudio Cambra <developer@claudiocambra.com>
Tue, 1 Aug 2023 08:00:17 +0000 (16:00 +0800)
committerClaudio Cambra <claudio.cambra@nextcloud.com>
Thu, 24 Aug 2023 00:34:41 +0000 (08:34 +0800)
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
src/libsync/account.cpp
src/libsync/account.h

index e30965c98514a27a022a9d84f8bdc5bc99acbb25..da3a80a29ccd7b35c4e007b56b0583c195e8bec0 100644 (file)
@@ -646,11 +646,22 @@ const Capabilities &Account::capabilities() const
     return _capabilities;
 }
 
+void Account::updateServerColors()
+{
+    if (const auto capServerColor = _capabilities.serverColor(); capServerColor.isValid()) {
+        _serverColor = capServerColor;
+    }
+
+    if (const auto capServerTextColor = _capabilities.serverTextColor(); capServerTextColor.isValid()) {
+        _serverTextColor = capServerTextColor;
+    }
+}
+
 void Account::setCapabilities(const QVariantMap &caps)
 {
     _capabilities = Capabilities(caps);
-    _serverColor = _capabilities.serverColor();
-    _serverTextColor = _capabilities.serverTextColor();
+
+    updateServerColors();
 
     emit capabilitiesChanged();
 
index 97e7835dd0efb24b86b760589f882c921f220a84..7a2655151f9bec62fdbff04b86ebcd8a1a42d562 100644 (file)
@@ -376,6 +376,7 @@ protected Q_SLOTS:
 private:
     Account(QObject *parent = nullptr);
     void setSharedThis(AccountPtr sharedThis);
+    void updateServerColors();
 
     [[nodiscard]] static QString davPathBase();
     [[nodiscard]] QColor serverColor() const;