diff options
author | Philip Kaufmann <phil.kaufmann@t-online.de> | 2012-05-03 14:52:15 +0200 |
---|---|---|
committer | Philip Kaufmann <phil.kaufmann@t-online.de> | 2012-05-04 11:09:55 +0200 |
commit | dab7acdf4570e7b716cff02fb3d0550f142f747c (patch) | |
tree | c1a8fb8025f999d8c2d2e9ba341b0c0d9367dbaf /src | |
parent | e099e1568a3343ddb32b18e276282c87fa49e584 (diff) |
fix #952 by checking if we have a new address or an updated label
Diffstat (limited to 'src')
-rw-r--r-- | src/qt/walletmodel.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/qt/walletmodel.cpp b/src/qt/walletmodel.cpp index a915274da3..b9ccb06c09 100644 --- a/src/qt/walletmodel.cpp +++ b/src/qt/walletmodel.cpp @@ -150,14 +150,21 @@ WalletModel::SendCoinsReturn WalletModel::sendCoins(const QList<SendCoinsRecipie hex = QString::fromStdString(wtx.GetHash().GetHex()); } - // Add addresses that we've sent to to the address book + // Add addresses / update labels that we've sent to to the address book foreach(const SendCoinsRecipient &rcp, recipients) { std::string strAddress = rcp.address.toStdString(); + std::string strLabel = rcp.label.toStdString(); { LOCK(wallet->cs_wallet); - if (!wallet->mapAddressBook.count(strAddress)) - wallet->SetAddressBookName(strAddress, rcp.label.toStdString()); + + std::map<CBitcoinAddress, std::string>::iterator mi = wallet->mapAddressBook.find(strAddress); + + // Check if we have a new address or an updated label + if (mi == wallet->mapAddressBook.end() || mi->second != strLabel) + { + wallet->SetAddressBookName(strAddress, strLabel); + } } } |