Wallet: fix listener leak

pull/2/head
moneromooo-monero 6 years ago
parent 76a105261e
commit 6ef2a8e21d

@ -863,7 +863,8 @@ Wallet::Wallet(Monero::Wallet *w, QObject *parent)
m_history = new TransactionHistory(m_walletImpl->history(), this); m_history = new TransactionHistory(m_walletImpl->history(), this);
m_addressBook = new AddressBook(m_walletImpl->addressBook(), this); m_addressBook = new AddressBook(m_walletImpl->addressBook(), this);
m_subaddress = new Subaddress(m_walletImpl->subaddress(), this); m_subaddress = new Subaddress(m_walletImpl->subaddress(), this);
m_walletImpl->setListener(new WalletListenerImpl(this)); m_walletListener = new WalletListenerImpl(this);
m_walletImpl->setListener(m_walletListener);
m_connectionStatus = Wallet::ConnectionStatus_Disconnected; m_connectionStatus = Wallet::ConnectionStatus_Disconnected;
// start cache timers // start cache timers
m_connectionStatusTime.restart(); m_connectionStatusTime.restart();
@ -896,5 +897,7 @@ Wallet::~Wallet()
qDebug("Error storing wallet cache"); qDebug("Error storing wallet cache");
delete m_walletImpl; delete m_walletImpl;
m_walletImpl = NULL; m_walletImpl = NULL;
delete m_walletListener;
m_walletListener = NULL;
qDebug("m_walletImpl deleted"); qDebug("m_walletImpl deleted");
} }

@ -349,6 +349,7 @@ private:
bool m_connectionStatusRunning; bool m_connectionStatusRunning;
QString m_daemonUsername; QString m_daemonUsername;
QString m_daemonPassword; QString m_daemonPassword;
Monero::WalletListener *m_walletListener;
}; };