1
0

qml: QETxFinalizer: handle txid being None

fixes https://github.com/spesmilo/electrum/issues/10042
This commit is contained in:
SomberNight
2025-07-18 01:11:19 +00:00
parent 8770c97c4f
commit e658fa4e04
4 changed files with 10 additions and 4 deletions

View File

@@ -509,5 +509,7 @@ class QETxDetails(QObject, QtEventListener):
@pyqtSlot(result='QVariantList')
def getSerializedTx(self):
txqr = self._tx.to_qr_data()
label = self._wallet.wallet.get_label_for_txid(self._tx.txid())
label = ""
if txid := self._tx.txid():
label = self._wallet.wallet.get_label_for_txid(txid)
return [str(self._tx), txqr[0], txqr[1], label]

View File

@@ -495,7 +495,9 @@ class QETxFinalizer(TxFeeSlider):
@pyqtSlot(result='QVariantList')
def getSerializedTx(self):
txqr = self._tx.to_qr_data()
label = self._wallet.wallet.get_label_for_txid(self._tx.txid())
label = ""
if txid := self._tx.txid():
label = self._wallet.wallet.get_label_for_txid(txid)
return [str(self._tx), txqr[0], txqr[1], label]

View File

@@ -256,7 +256,8 @@ class HistoryModel(CustomModel, Logger):
def update_label(self, index):
tx_item = index.internalPointer().get_data()
tx_item['label'] = self.window.wallet.get_label_for_txid(get_item_key(tx_item))
tx_item['label'] = self.window.wallet.get_label_for_txid(
get_item_key(tx_item)) # FIXME get_item_key might return an RHASH, but we call get_label_for_txid?!
topLeft = bottomRight = self.createIndex(index.row(), HistoryColumns.DESCRIPTION)
self.dataChanged.emit(topLeft, bottomRight, [Qt.ItemDataRole.DisplayRole])
self.window.utxo_list.update()

View File

@@ -1683,7 +1683,8 @@ class Abstract_Wallet(ABC, Logger, EventListener):
self._default_labels['group:' + group_id] = label
def get_label_for_txid(self, tx_hash: str) -> str:
return self._labels.get(tx_hash) or self._get_default_label_for_txid(tx_hash)
assert tx_hash, f"expected a txid, got {tx_hash!r}"
return self._labels.get(tx_hash) or self._get_default_label_for_txid(tx_hash) or ""
def _get_default_label_for_txid(self, tx_hash: str) -> str:
if label := self._default_labels.get(tx_hash):