fix: prevent deleteLater on still-running ScanWorker QThread

When cancelling a scan during file change, connect finished signal
to deleteLater instead of calling it immediately on a running thread.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-17 09:02:35 +02:00
parent c439aca9b9
commit 1e2cebd424
+5 -1
View File
@@ -2519,7 +2519,11 @@ class MainWindow(QMainWindow):
self._scan_worker.progress.disconnect() self._scan_worker.progress.disconnect()
except TypeError: except TypeError:
pass # already disconnected pass # already disconnected
self._scan_worker.deleteLater() if self._scan_worker.isRunning():
# Let the thread finish naturally; deleteLater when done
self._scan_worker.finished.connect(self._scan_worker.deleteLater)
else:
self._scan_worker.deleteLater()
self._scan_worker = None self._scan_worker = None
def _start_scan(self) -> None: def _start_scan(self) -> None: