mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-11 22:50:59 +01:00
gui: Avoid redundant tx status updates
In TransactionTablePriv::index, avoid calling interfaces::Wallet::tryGetTxStatus if the status is up to date as of the most recent NotifyBlockTip notification. Store height from the most recent notification in a new ClientModel::cachedNumBlocks variable in order to check this. This avoids floods of IPC traffic from tryGetTxStatus with #10102 when there are a lot of transactions. It might also make the GUI a little more efficient even when there is no IPC.
This commit is contained in:
@@ -21,6 +21,7 @@
|
||||
#include <QTimer>
|
||||
#include <QString>
|
||||
|
||||
class ClientModel;
|
||||
class OptionsModel;
|
||||
class PlatformStyle;
|
||||
class WalletModel;
|
||||
@@ -47,7 +48,7 @@ class WalletController : public QObject
|
||||
void removeAndDeleteWallet(WalletModel* wallet_model);
|
||||
|
||||
public:
|
||||
WalletController(interfaces::Node& node, const PlatformStyle* platform_style, OptionsModel* options_model, QObject* parent);
|
||||
WalletController(ClientModel& client_model, const PlatformStyle* platform_style, QObject* parent);
|
||||
~WalletController();
|
||||
|
||||
//! Returns wallet models currently open.
|
||||
@@ -70,6 +71,7 @@ Q_SIGNALS:
|
||||
private:
|
||||
QThread* const m_activity_thread;
|
||||
QObject* const m_activity_worker;
|
||||
ClientModel& m_client_model;
|
||||
interfaces::Node& m_node;
|
||||
const PlatformStyle* const m_platform_style;
|
||||
OptionsModel* const m_options_model;
|
||||
|
||||
Reference in New Issue
Block a user