From c78a90a2421bba5ed2240c5b5bfe413afa0ecf43 Mon Sep 17 00:00:00 2001 From: Sander van Grieken Date: Mon, 5 Feb 2024 14:17:44 +0100 Subject: [PATCH] qt: wizard: move page.on_ready() to just after construction to avoid triggering signal/slots that might assume on_ready() has run --- electrum/gui/qt/wizard/wizard.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/electrum/gui/qt/wizard/wizard.py b/electrum/gui/qt/wizard/wizard.py index f1ea2a1a5..bad04a32d 100644 --- a/electrum/gui/qt/wizard/wizard.py +++ b/electrum/gui/qt/wizard/wizard.py @@ -46,8 +46,10 @@ class QEAbstractWizard(QDialog, MessageBoxMixin): self.back_button = QPushButton(_("Back"), self) self.back_button.clicked.connect(self.on_back_button_clicked) + self.back_button.setEnabled(False) self.next_button = QPushButton(_("Next"), self) self.next_button.clicked.connect(self.on_next_button_clicked) + self.next_button.setEnabled(False) self.next_button.setDefault(True) self.requestPrev.connect(self.on_back_button_clicked) self.requestNext.connect(self.on_next_button_clicked) @@ -144,12 +146,14 @@ class QEAbstractWizard(QDialog, MessageBoxMixin): raise e page.wizard_data = copy.deepcopy(wdata) page.params = params - page.updated.connect(self.on_page_updated) + page.on_ready() # call before component emits any signals + self._logger.debug(f'load_next_component: {page=!r}') + page.updated.connect(self.on_page_updated) + # add to stack and update wizard self.main_widget.setCurrentIndex(self.main_widget.addWidget(page)) - page.on_ready() page.apply() self.update()