mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-04-29 14:59:39 -04:00
gui: fix crash on selecting "Mask values" in transaction view
This commits fixes a crash bug that can be caused with the following steps: - change to the "Transactions" view - right-click on an arbitrary transaction -> "Show transaction details" - close the transaction detail window again - select "Settings" -> "Mask values" The problem is that the list of opened dialogs, tracked in the member variable `m_opened_dialogs`, is only ever appended with newly opened transaction detail dialog pointers, but never removed. This leads to dangling pointers in the list, and if the "Mask values" menu item is selected, a crash is caused in the course of trying to close the opened transaction detail dialogs (see `closeOpenedDialogs()` method). Fix this by removing the pointer from the list if the corresponding widget is destroyed.
This commit is contained in:
parent
4458ae811a
commit
e26e665f9f
1 changed files with 3 additions and 0 deletions
|
@ -531,6 +531,9 @@ void TransactionView::showDetails()
|
||||||
TransactionDescDialog *dlg = new TransactionDescDialog(selection.at(0));
|
TransactionDescDialog *dlg = new TransactionDescDialog(selection.at(0));
|
||||||
dlg->setAttribute(Qt::WA_DeleteOnClose);
|
dlg->setAttribute(Qt::WA_DeleteOnClose);
|
||||||
m_opened_dialogs.append(dlg);
|
m_opened_dialogs.append(dlg);
|
||||||
|
connect(dlg, &QObject::destroyed, [this, dlg] {
|
||||||
|
m_opened_dialogs.removeOne(dlg);
|
||||||
|
});
|
||||||
dlg->show();
|
dlg->show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue