From 2aaf250a4a4094ea52c980e682d666e2ffd6947e Mon Sep 17 00:00:00 2001 From: SomberNight Date: Wed, 28 Feb 2018 01:26:05 +0100 Subject: [PATCH] fix #3956 --- gui/qt/util.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gui/qt/util.py b/gui/qt/util.py index 3312afb7f..e730daed0 100644 --- a/gui/qt/util.py +++ b/gui/qt/util.py @@ -229,12 +229,12 @@ class WaitingDialog(WindowModalDialog): if isinstance(parent, MessageBoxMixin): parent = parent.top_level_window() WindowModalDialog.__init__(self, parent, _("Please wait")) - self.setAttribute(Qt.WA_DeleteOnClose) # see #3956 vbox = QVBoxLayout(self) vbox.addWidget(QLabel(message)) self.accepted.connect(self.on_accepted) self.show() self.thread = TaskThread(self) + self.thread.finished.connect(self.deleteLater) # see #3956 self.thread.add(task, on_success, self.accept, on_error) def wait(self): @@ -624,12 +624,12 @@ class TaskThread(QThread): except BaseException: self.doneSig.emit(sys.exc_info(), task.cb_done, task.cb_error) - def on_done(self, result, cb_done, cb): + def on_done(self, result, cb_done, cb_result): # This runs in the parent's thread. if cb_done: cb_done() - if cb: - cb(result) + if cb_result: + cb_result(result) def stop(self): self.tasks.put(None)