Skip to content

Commit 56578f7

Browse files
committed
fix: properly stop EventGetterThread on exit
1 parent 197172b commit 56578f7

4 files changed

Lines changed: 12 additions & 15 deletions

File tree

CHANGELOG

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
- fix: delay on selecting "Plot" tab when "Marker hue" was set to "Feature"
33
- fix: set NaN-valued KDE of scatter plot points to zero
44
- fix: properly close DCOR search background runner in dialog
5+
- fix: properly stop `EventGetterThread` on exit
56
- enh: give all separate `QThread` object a name
67
- ref: migrate from loading .ui files to pyuic6-pregenerated Python files
78
- setup: bump dclab to 0.71.7 (ValueError when encountering empty pipeline)

dcscope/gui/main.py

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -395,23 +395,20 @@ def add_plot_window(self, plot_id):
395395
self.subwindows_plots[plot_id] = sub
396396
sub.show()
397397

398-
def close(self):
399-
if self.widget_quick_view is not None:
400-
self.widget_quick_view.close()
401-
return super(DCscope, self).close()
402-
403398
@QtCore.pyqtSlot(QtCore.QEvent)
404399
def closeEvent(self, event):
405400
"""Determine what happens when the user wants to quit"""
406401
if self.pipeline.slots or self.pipeline.filters:
407-
if self.on_action_clear():
408-
if self.widget_quick_view is not None:
409-
self.widget_quick_view.close()
410-
event.accept()
411-
else:
412-
event.ignore()
402+
closing = self.on_action_clear()
413403
else:
404+
closing = True
405+
406+
if closing:
407+
if self.widget_quick_view is not None:
408+
self.widget_quick_view.close()
414409
event.accept()
410+
else:
411+
event.ignore()
415412

416413
@QtCore.pyqtSlot(QtCore.QEvent)
417414
def dragEnterEvent(self, e):

dcscope/gui/quick_view/qv_event_getter.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,7 @@ def __init__(self, parent):
2424

2525
def close(self):
2626
self.event_abort.set()
27-
while self.isRunning():
28-
time.sleep(0.1)
27+
self.wait()
2928

3029
@QtCore.pyqtSlot(RTDCBase, int)
3130
def request_event_data(self, ds: RTDCBase, event_index: int):

dcscope/gui/quick_view/qv_main.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -250,9 +250,9 @@ def rtdc_ds(self, rtdc_ds):
250250
self.ui.comboBox_y.set_dataset(rtdc_ds)
251251
self.ui.comboBox_z_hue.set_dataset(rtdc_ds)
252252

253-
def close(self):
253+
def closeEvent(self, a0):
254254
self.event_getter.close()
255-
super(QuickView, self).close()
255+
return super(QuickView, self).closeEvent(a0)
256256

257257
@QtCore.pyqtSlot(dict)
258258
def on_pp_mod_recv(self, data):

0 commit comments

Comments
 (0)