Browse Source

QT: Stop timer cleanly to avoid exceptions on exit

283
Neil Booth 9 years ago
parent
commit
2226667437
  1. 3
      gui/qt/__init__.py
  2. 7
      gui/qt/util.py

3
gui/qt/__init__.py

@ -245,6 +245,9 @@ class ElectrumGui:
# main loop # main loop
self.app.exec_() self.app.exec_()
# Shut down the timer cleanly
self.timer.stop()
# clipboard persistence. see http://www.mail-archive.com/pyqt@riverbankcomputing.com/msg17328.html # clipboard persistence. see http://www.mail-archive.com/pyqt@riverbankcomputing.com/msg17328.html
event = QtCore.QEvent(QtCore.QEvent.Clipboard) event = QtCore.QEvent(QtCore.QEvent.Clipboard)
self.app.sendEvent(self.app.clipboard(), event) self.app.sendEvent(self.app.clipboard(), event)

7
gui/qt/util.py

@ -61,11 +61,16 @@ class WaitingDialog(QThread):
class Timer(QThread): class Timer(QThread):
stopped = False
def run(self): def run(self):
while True: while not self.stopped:
self.emit(SIGNAL('timersignal')) self.emit(SIGNAL('timersignal'))
time.sleep(0.5) time.sleep(0.5)
def stop(self):
self.stopped = True
self.wait()
class EnterButton(QPushButton): class EnterButton(QPushButton):
def __init__(self, text, func): def __init__(self, text, func):

Loading…
Cancel
Save