]> Nutra Git (v1) - gamesguru/feather.git/commitdiff
lock: fix connection status
authortobtoht <tob@featherwallet.org>
Sat, 30 Dec 2023 11:43:10 +0000 (12:43 +0100)
committertobtoht <tob@featherwallet.org>
Sat, 30 Dec 2023 11:43:10 +0000 (12:43 +0100)
src/MainWindow.cpp
src/libwalletqt/Wallet.cpp
src/libwalletqt/Wallet.h

index b416a7c8207674915cc92df0ca66d40f24b0a87f..6e414995321d43ef58f5f1ce2308b4c1a9e08a6c 100644 (file)
@@ -667,7 +667,6 @@ void MainWindow::onProxySettingsChanged() {
 }
 
 void MainWindow::onOfflineMode(bool offline) {
-    this->onConnectionStatusChanged(Wallet::ConnectionStatus_Disconnected);
     m_wallet->setOffline(offline);
 
     if (m_wallet->viewOnly()) {
@@ -717,6 +716,9 @@ void MainWindow::onRefreshSync(int height, int target) {
 
 void MainWindow::onConnectionStatusChanged(int status)
 {
+    // Note: Wallet does not emit this signal unless status is changed, so calling this function from MainWindow may
+    // result in the wrong connection status being displayed.
+
     qDebug() << "Wallet connection status changed " << Utils::QtEnumToString(static_cast<Wallet::ConnectionStatus>(status));
 
     // Update connection info in status bar.
index 77c39ed233e868e2201c2ca67b02c35fe69e8638..9bae3f29c475ce186142686182b17a07f3bfd384 100644 (file)
@@ -274,8 +274,11 @@ void Wallet::setSeedLanguage(const QString &lang)
 
 // #################### Node connection ####################
 
-void Wallet::setOffline(bool offline) const {
+void Wallet::setOffline(bool offline) {
     m_wallet2->set_offline(offline);
+    if (offline) {
+        setConnectionStatus(Wallet::ConnectionStatus_Disconnected);
+    }
 }
 
 void Wallet::setTrustedDaemon(bool arg) {
index 5321b916ed3297fcf275804b677b6e1dffabd2c7..be792d10e0056b51843c0180c016e8486229de5f 100644 (file)
@@ -193,7 +193,7 @@ public:
 
     // ##### Node connection #####
 
-    void setOffline(bool offline) const;
+    void setOffline(bool offline);
 
     //! indicates if daemon is trusted
     void setTrustedDaemon(bool arg);