]> Nutra Git (v1) - gamesguru/feather.git/commitdiff
wip
authorgg <chown_tee@proton.me>
Mon, 19 Jan 2026 06:08:33 +0000 (01:08 -0500)
committergg <chown_tee@proton.me>
Mon, 19 Jan 2026 06:08:33 +0000 (01:08 -0500)
src/MainWindow.cpp
src/libwalletqt/Wallet.cpp

index 79c14e461f620fc44f141b044ac67ffcdc829790..a18958877873d5f9631efa15d842c555a4edcdec 100644 (file)
@@ -262,7 +262,7 @@ void MainWindow::initStatusBar() {
     QAction *scanTxAction = new QAction(tr("Import Transaction"), this);
     m_statusLabelStatus->addAction(scanTxAction);
 
-    m_updateNetworkInfoAction = new QAction(tr("Scan Now"), this);
+    m_updateNetworkInfoAction = new QAction(tr("Scan Mempool & Get Network Info"), this);
     m_statusLabelStatus->addAction(m_updateNetworkInfoAction);
 
     connect(m_actionPauseSync, &QAction::toggled, this, [this](bool checked) {
index 3cba285795eb01c5e5da26ee15ae3d03e5ea35cf..543c2301c45beb57f8438543e44210916fa5b046 100644 (file)
@@ -7,6 +7,8 @@
 #include <thread>
 #include <tuple>
 
+#include <QMetaObject>
+
 #include "AddressBook.h"
 #include "Coins.h"
 #include "Subaddress.h"
@@ -532,9 +534,13 @@ void Wallet::startRefreshThread()
                         bool shouldScanMempool = m_refreshNow || conf()->get(Config::scanMempoolWhenPaused).toBool();
 
                         if (shouldScanMempool) {
-                            qDebug() << "[SYNC PAUSED] Scanning mempool because scans are enabled";
-                            if (m_scheduler.stopping()) return;
-                            scanMempool();
+                            if (m_wallet2->get_daemon_address().empty()) {
+                                qDebug() << "[SYNC PAUSED] Skipping mempool scan because daemon address is empty";
+                            } else {
+                                qDebug() << "[SYNC PAUSED] Scanning mempool because scans are enabled";
+                                if (m_scheduler.stopping()) return;
+                                scanMempool();
+                            }
                         }
 
                         // Update network stats if we just scanned OR if we don't have stats yet (startup recovery)
@@ -1156,7 +1162,9 @@ void Wallet::createTransaction(const QString &address, quint64 amount, const QSt
                                                                              currentSubaddressAccount(), subaddr_indices, m_selectedInputs, subtractFeeFromAmount);
 
         QVector<QString> addresses{address};
-        this->onTransactionCreated(ptImpl, addresses);
+        QMetaObject::invokeMethod(this, [this, ptImpl, addresses] {
+            this->onTransactionCreated(ptImpl, addresses);
+        }, Qt::QueuedConnection);
     });
 }
 
@@ -1180,7 +1188,9 @@ void Wallet::createTransactionMultiDest(const QVector<QString> &addresses, const
                                                                                      static_cast<Monero::PendingTransaction::Priority>(feeLevel),
                                                                                      currentSubaddressAccount(), subaddr_indices, m_selectedInputs, subtractFeeFromAmount);
 
-        this->onTransactionCreated(ptImpl, addresses);
+        QMetaObject::invokeMethod(this, [this, ptImpl, addresses] {
+            this->onTransactionCreated(ptImpl, addresses);
+        }, Qt::QueuedConnection);
     });
 }
 
@@ -1201,7 +1211,9 @@ void Wallet::sweepOutputs(const QVector<QString> &keyImages, QString address, bo
                                                                                      static_cast<Monero::PendingTransaction::Priority>(feeLevel));
 
         QVector<QString> addresses {address};
-        this->onTransactionCreated(ptImpl, addresses);
+        QMetaObject::invokeMethod(this, [this, ptImpl, addresses] {
+            this->onTransactionCreated(ptImpl, addresses);
+        }, Qt::QueuedConnection);
     });
 }
 
@@ -1209,7 +1221,6 @@ void Wallet::sweepOutputs(const QVector<QString> &keyImages, QString address, bo
 
 void Wallet::onTransactionCreated(Monero::PendingTransaction *mtx, const QVector<QString> &address) {
     qDebug() << Q_FUNC_INFO;
-    startRefresh();
 
     PendingTransaction *tx = new PendingTransaction(mtx, this);