diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -233,12 +233,14 @@ // disable some items (like Copy Transaction ID, lock, unlock) for tree // roots in context menu if (item->text(COLUMN_TXHASH).length() == 64) { + TxId txid; + txid.SetHex(item->text(COLUMN_TXHASH).toStdString()); + // transaction hash is 64 characters (this means its a child node, // so its not a parent node in tree mode) copyTransactionHashAction->setEnabled(true); - if (model->isLockedCoin( - uint256S(item->text(COLUMN_TXHASH).toStdString()), - item->text(COLUMN_VOUT_INDEX).toUInt())) { + if (model->isLockedCoin(txid, + item->text(COLUMN_VOUT_INDEX).toUInt())) { lockAction->setEnabled(false); unlockAction->setEnabled(true); } else { @@ -267,10 +269,11 @@ void CoinControlDialog::copyLabel() { if (ui->radioTreeMode->isChecked() && contextMenuItem->text(COLUMN_LABEL).length() == 0 && - contextMenuItem->parent()) + contextMenuItem->parent()) { GUIUtil::setClipboard(contextMenuItem->parent()->text(COLUMN_LABEL)); - else + } else { GUIUtil::setClipboard(contextMenuItem->text(COLUMN_LABEL)); + } } // context menu action: copy address @@ -793,17 +796,17 @@ itemOutput->setData(COLUMN_CONFIRMATIONS, Qt::UserRole, QVariant((qlonglong)out.nDepth)); - // transaction hash - uint256 txhash = out.tx->GetId(); + // transaction id + const TxId txid = out.tx->GetId(); itemOutput->setText(COLUMN_TXHASH, - QString::fromStdString(txhash.GetHex())); + QString::fromStdString(txid.GetHex())); // vout index itemOutput->setText(COLUMN_VOUT_INDEX, QString::number(out.i)); // disable locked coins - if (model->isLockedCoin(txhash, out.i)) { - COutPoint outpt(txhash, out.i); + if (model->isLockedCoin(txid, out.i)) { + COutPoint outpt(txid, out.i); // just to be sure coinControl->UnSelect(outpt); itemOutput->setDisabled(true); @@ -813,7 +816,7 @@ } // set checkbox - if (coinControl->IsSelected(COutPoint(txhash, out.i))) { + if (coinControl->IsSelected(COutPoint(txid, out.i))) { itemOutput->setCheckState(COLUMN_CHECKBOX, Qt::Checked); } } diff --git a/src/qt/walletmodel.h b/src/qt/walletmodel.h --- a/src/qt/walletmodel.h +++ b/src/qt/walletmodel.h @@ -213,7 +213,7 @@ bool isSpent(const COutPoint &outpoint) const; void listCoins(std::map> &mapCoins) const; - bool isLockedCoin(uint256 hash, unsigned int n) const; + bool isLockedCoin(const TxId &txid, uint32_t n) const; void lockCoin(COutPoint &output); void unlockCoin(COutPoint &output); void listLockedCoins(std::vector &vOutpts); diff --git a/src/qt/walletmodel.cpp b/src/qt/walletmodel.cpp --- a/src/qt/walletmodel.cpp +++ b/src/qt/walletmodel.cpp @@ -627,9 +627,9 @@ } } -bool WalletModel::isLockedCoin(uint256 hash, unsigned int n) const { +bool WalletModel::isLockedCoin(const TxId &txid, uint32_t n) const { LOCK2(cs_main, wallet->cs_wallet); - return wallet->IsLockedCoin(hash, n); + return wallet->IsLockedCoin(txid, n); } void WalletModel::lockCoin(COutPoint &output) { diff --git a/src/wallet/wallet.h b/src/wallet/wallet.h --- a/src/wallet/wallet.h +++ b/src/wallet/wallet.h @@ -788,7 +788,7 @@ bool IsSpent(const TxId &txid, uint32_t n) const; - bool IsLockedCoin(uint256 hash, unsigned int n) const; + bool IsLockedCoin(const TxId &txid, uint32_t n) const; void LockCoin(const COutPoint &output); void UnlockCoin(const COutPoint &output); void UnlockAllCoins(); diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp --- a/src/wallet/wallet.cpp +++ b/src/wallet/wallet.cpp @@ -3808,10 +3808,10 @@ setLockedCoins.clear(); } -bool CWallet::IsLockedCoin(uint256 hash, unsigned int n) const { +bool CWallet::IsLockedCoin(const TxId &txid, uint32_t n) const { // setLockedCoins AssertLockHeld(cs_wallet); - COutPoint outpt(hash, n); + COutPoint outpt(txid, n); return setLockedCoins.count(outpt) > 0; }