diff --git a/src/qt/transactionrecord.cpp b/src/qt/transactionrecord.cpp index e3aeca2b91a6..b3e87dcf040e 100644 --- a/src/qt/transactionrecord.cpp +++ b/src/qt/transactionrecord.cpp @@ -50,7 +50,6 @@ QList TransactionRecord::decomposeTransaction(const interface if(mine) { TransactionRecord sub(hash, nTime); - CTxDestination address; sub.idx = i; // vout index sub.credit = txout.nValue; sub.involvesWatchAddress = mine & ISMINE_WATCH_ONLY; @@ -59,7 +58,7 @@ QList TransactionRecord::decomposeTransaction(const interface // Received by Dash Address sub.type = TransactionRecord::RecvWithAddress; sub.strAddress = EncodeDestination(wtx.txout_address[i]); - sub.txDest = address; + sub.txDest = wtx.txout_address[i]; } else { diff --git a/src/qt/transactiontablemodel.cpp b/src/qt/transactiontablemodel.cpp index 606a8929dfbd..fbfc6597e93a 100644 --- a/src/qt/transactiontablemodel.cpp +++ b/src/qt/transactiontablemodel.cpp @@ -4,7 +4,6 @@ #include -#include #include #include #include @@ -205,6 +204,15 @@ class TransactionTablePriv int64_t adjustedTime; if (rec->statusUpdateNeeded(numBlocks, parent->getChainLockHeight()) && wallet.tryGetTxStatus(rec->hash, wtx, adjustedTime)) { rec->updateStatus(wtx, numBlocks, adjustedTime, parent->getChainLockHeight()); + // Update label + if (IsValidDestination(rec->txDest)) { + std::string name; + if (wallet.getAddress(rec->txDest, &name)) { + rec->status.label = QString::fromStdString(name); + } else { + rec->status.label = ""; + } + } } return rec; } @@ -451,9 +459,9 @@ QVariant TransactionTableModel::addressColor(const TransactionRecord *wtx) const case TransactionRecord::PrivateSend: case TransactionRecord::RecvWithPrivateSend: { - QString label = walletModel->getAddressTableModel()->labelForDestination(wtx->txDest); - if(label.isEmpty()) + if (wtx->status.label.isEmpty()) { return GUIUtil::getThemedQColor(GUIUtil::ThemedColor::BAREADDRESS); + } } break; case TransactionRecord::SendToSelf: case TransactionRecord::PrivateSendCreateDenominations: