tFix QtHandler modality - electrum - Electrum Bitcoin wallet HTML git clone https://git.parazyd.org/electrum DIR Log DIR Files DIR Refs DIR Submodules --- DIR commit 3f2ba5ec2091b4130b2d7b2cf9364b7f33190c01 DIR parent 3422d855c93f2fc8ad69a1241a75751e5453b7f0 HTML Author: Neil Booth <kyuupichan@gmail.com> Date: Sat, 2 Jan 2016 23:27:04 +0900 Fix QtHandler modality Diffstat: M plugins/trezor/qt_generic.py | 4 ++++ 1 file changed, 4 insertions(+), 0 deletions(-) --- DIR diff --git a/plugins/trezor/qt_generic.py b/plugins/trezor/qt_generic.py t@@ -13,6 +13,8 @@ from electrum.plugins import hook from electrum.util import PrintError +# By far the trickiest thing about this handler is the window stack; +# MacOSX is very fussy the modal dialogs are perfectly parented class QtHandler(PrintError): '''An interface between the GUI (here, QT) and the device handling logic for handling I/O. This is a generic implementation of the t@@ -82,6 +84,7 @@ class QtHandler(PrintError): self.clear_dialog() title = _('Please check your %s device') % self.device self.dialog = dialog = WindowModalDialog(self.window_stack[-1], title) + self.window_stack.append(dialog) l = QLabel(msg) vbox = QVBoxLayout(dialog) if cancel_callback: t@@ -96,6 +99,7 @@ class QtHandler(PrintError): def clear_dialog(self): if self.dialog: self.dialog.accept() + self.window_stack.remove(self.dialog) self.dialog = None def exec_dialog(self, dialog):