aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorfanquake <fanquake@gmail.com>2024-01-16 11:15:57 +0000
committerfanquake <fanquake@gmail.com>2024-01-16 11:23:36 +0000
commit8087626cbda97f6def4fb51cdac6f204486ee6fb (patch)
tree0f721ac56e94cc04b0c499cb11bc490abef2020c /src
parent7da4ae1f78ab4f6c8b19c8ca89bd6b2a6c4836ea (diff)
parent53bbda51141e48730b95913c6ae8e1ea50578fbb (diff)
Merge bitcoin/bitcoin#28768: [25.x] Backports
53bbda51141e48730b95913c6ae8e1ea50578fbb doc: update release notes for 25.x (fanquake) 31e1e035be0598a43c573fe4cf49dea8351dc5f6 test: add regression test for the getrawtransaction segfault (Martin Zumsande) 041228d293a24c52631e011fc002349337d0645e rpc: fix getrawtransaction segfault (Martin Zumsande) b86285df1f949c44445165040dfb94a560c3858c gui: fix crash on selecting "Mask values" in transaction view (Sebastian Falbesoner) c21024fd86eb96e0a18c7c50acede2467ac70103 doc: add historical release notes for 25.1 (fanquake) Pull request description: Collecting backports for the 25.x branch. Currently: * https://github.com/bitcoin-core/gui/pull/774 * https://github.com/bitcoin/bitcoin/pull/29003 ACKs for top commit: stickies-v: ACK 53bbda51141e48730b95913c6ae8e1ea50578fbb Tree-SHA512: 9b1ba17cce9de70d20329372ba71225dd930718a1f7db84a7be764dcfbba01c5e466255e7b95433ab6d7559ee8aaa04cc99ee5d1512d91fcc0a8015f1aa4150a
Diffstat (limited to 'src')
-rw-r--r--src/qt/transactionview.cpp3
-rw-r--r--src/rpc/rawtransaction.cpp5
2 files changed, 5 insertions, 3 deletions
diff --git a/src/qt/transactionview.cpp b/src/qt/transactionview.cpp
index 351305f3fa..0641661fcb 100644
--- a/src/qt/transactionview.cpp
+++ b/src/qt/transactionview.cpp
@@ -532,6 +532,9 @@ void TransactionView::showDetails()
TransactionDescDialog *dlg = new TransactionDescDialog(selection.at(0));
dlg->setAttribute(Qt::WA_DeleteOnClose);
m_opened_dialogs.append(dlg);
+ connect(dlg, &QObject::destroyed, [this, dlg] {
+ m_opened_dialogs.removeOne(dlg);
+ });
dlg->show();
}
}
diff --git a/src/rpc/rawtransaction.cpp b/src/rpc/rawtransaction.cpp
index 21d49fda9d..4ab8a8661b 100644
--- a/src/rpc/rawtransaction.cpp
+++ b/src/rpc/rawtransaction.cpp
@@ -310,7 +310,7 @@ static RPCHelpMan getrawtransaction()
LOCK(cs_main);
blockindex = chainman.m_blockman.LookupBlockIndex(hash_block);
}
- if (verbosity == 1) {
+ if (verbosity == 1 || !blockindex) {
TxToJSON(*tx, hash_block, result, chainman.ActiveChainstate());
return result;
}
@@ -319,8 +319,7 @@ static RPCHelpMan getrawtransaction()
CBlock block;
const bool is_block_pruned{WITH_LOCK(cs_main, return chainman.m_blockman.IsBlockPruned(blockindex))};
- if (tx->IsCoinBase() ||
- !blockindex || is_block_pruned ||
+ if (tx->IsCoinBase() || is_block_pruned ||
!(UndoReadFromDisk(blockUndo, blockindex) && ReadBlockFromDisk(block, blockindex, Params().GetConsensus()))) {
TxToJSON(*tx, hash_block, result, chainman.ActiveChainstate());
return result;