fix: editor cleanup on Escape/reject + stop main audition on open

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-02 18:41:41 +02:00
co-authored by Claude Opus 4.8
parent 4a34a87d37
commit d8b890d679
2 changed files with 21 additions and 1 deletions
+10 -1
View File
@@ -4297,7 +4297,7 @@ class AudioEditorDialog(QDialog):
proc.deleteLater()
self._btn_play.setText("▶ Play")
def closeEvent(self, ev) -> None:
def _cleanup(self) -> None:
self._stop_play()
for _t in list(self._temps):
try:
@@ -4305,8 +4305,15 @@ class AudioEditorDialog(QDialog):
except OSError:
pass
self._temps.clear()
def closeEvent(self, ev) -> None:
self._cleanup()
super().closeEvent(ev)
def reject(self) -> None:
self._cleanup()
super().reject()
def _on_save_as(self):
path, _sel = QFileDialog.getSaveFileName(
self, "Save edited audio", "",
@@ -7076,6 +7083,7 @@ class MainWindow(QMainWindow):
if not self._file_path:
self._show_status("Load a video first", 3000)
return
self._stop_audition()
import tempfile
start = self._cursor
dur = self._spn_audio_len.value()
@@ -7101,6 +7109,7 @@ class MainWindow(QMainWindow):
self._merge_temps.add(tmp) # reuse the close-time temp sweep
dlg = AudioEditorDialog(tmp, parent=self)
dlg.exec()
dlg.deleteLater()
def _merge_move(self, delta: int) -> None:
row = self._merge_list.currentRow()