Safe add addresses to data model

This commit is contained in:
Aditya Kulkarni
2019-04-09 15:51:15 -07:00
parent bc23d72429
commit 6f2ef7f09f

View File

@@ -676,30 +676,35 @@ void RPC::getInfoThenRefresh(bool force) {
void RPC::refreshAddresses() {
if (conn == nullptr)
return noConnection();
delete zaddresses;
zaddresses = new QList<QString>();
auto newzaddresses = new QList<QString>();
getZAddresses([=] (json reply) {
for (auto& it : reply.get<json::array_t>()) {
auto addr = QString::fromStdString(it.get<json::string_t>());
zaddresses->push_back(addr);
newzaddresses->push_back(addr);
}
delete zaddresses;
zaddresses = newzaddresses;
// Refresh the sent and received txs from all these z-addresses
refreshSentZTrans();
refreshReceivedZTrans(*zaddresses);
});
delete taddresses;
taddresses = new QList<QString>();
auto newtaddresses = new QList<QString>();
getTAddresses([=] (json reply) {
for (auto& it : reply.get<json::array_t>()) {
auto addr = QString::fromStdString(it.get<json::string_t>());
if (Settings::isTAddress(addr))
taddresses->push_back(addr);
newtaddresses->push_back(addr);
}
delete taddresses;
taddresses = newtaddresses;
// If there are no t Addresses, create one
newTaddr([=] (json reply) {
// What if taddress gets deleted before this executes?