3838WalletModel::WalletModel (std::unique_ptr<interfaces::Wallet> wallet, ClientModel& client_model, const PlatformStyle *platformStyle, QObject *parent) :
3939 QObject(parent),
4040 m_wallet(std::move(wallet)),
41- m_client_model(client_model),
41+ m_client_model(& client_model),
4242 m_node(client_model.node()),
4343 optionsModel(client_model.getOptionsModel()),
4444 addressTableModel(nullptr ),
4545 transactionTableModel(nullptr ),
4646 recentRequestsTableModel(nullptr ),
4747 cachedEncryptionStatus(Unencrypted),
48- cachedNumBlocks(0 )
48+ cachedNumBlocks(0 ),
49+ timer(new QTimer(this ))
4950{
5051 fHaveWatchOnly = m_wallet->haveWatchOnly ();
5152 addressTableModel = new AddressTableModel (this );
@@ -63,11 +64,16 @@ WalletModel::~WalletModel()
6364void WalletModel::startPollBalance ()
6465{
6566 // This timer will be fired repeatedly to update the balance
66- QTimer* timer = new QTimer (this );
6767 connect (timer, &QTimer::timeout, this , &WalletModel::pollBalanceChanged);
6868 timer->start (MODEL_UPDATE_DELAY);
6969}
7070
71+ void WalletModel::setClientModel (ClientModel* client_model)
72+ {
73+ m_client_model = client_model;
74+ if (!m_client_model) timer->stop ();
75+ }
76+
7177void WalletModel::updateStatus ()
7278{
7379 EncryptionStatus newEncryptionStatus = getEncryptionStatus ();
0 commit comments