From ef49bb2109916aecbd5521542c7cb537d0e87517 Mon Sep 17 00:00:00 2001 From: SomberNight Date: Tue, 6 May 2025 17:26:41 +0000 Subject: [PATCH] hw plugins: fix DeviceMgr.select_device regression from ChoiceWidget refactor follow-up https://github.com/spesmilo/electrum/commit/f7749d62aa9538545645563a5e8d59513b2cab69 --- electrum/gui/qt/util.py | 1 + electrum/plugin.py | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/electrum/gui/qt/util.py b/electrum/gui/qt/util.py index 0b11435e9..d9d539549 100644 --- a/electrum/gui/qt/util.py +++ b/electrum/gui/qt/util.py @@ -542,6 +542,7 @@ class ChoiceWidget(QWidget): assert isinstance(choices, list) iterator = enumerate(choices) for i, c in iterator: + assert isinstance(c, tuple), f"{c=!r}" button = QRadioButton(gb2) button.setText(c[1]) vbox2.addWidget(button) diff --git a/electrum/plugin.py b/electrum/plugin.py index 48888c9df..d9ccae939 100644 --- a/electrum/plugin.py +++ b/electrum/plugin.py @@ -1076,7 +1076,8 @@ class DeviceMgr(ThreadJob): for info in infos] self.logger.debug(f"select_device. prompting user for manual selection of {plugin.device}. " f"num options: {len(infos)}. options: {infos}") - c = handler.query_choice(msg, descriptions) + choices = list(enumerate(descriptions)) + c = handler.query_choice(msg, choices) if c is None: raise UserCancelled() info = infos[c]