This commit is contained in:
2026-04-10 15:06:59 +02:00
parent 3031b7153b
commit e5a4711004
7806 changed files with 1918528 additions and 335 deletions

View File

@@ -160,9 +160,13 @@ class Player(QObject):
self.levels_changed.emit(max(0.0, l), max(0.0, r))
def _on_end_reached(self, event):
"""Kaldes fra VLC's event-tråd — send signal til GUI via Qt."""
self._poll_timer.stop()
# Qt-safe: brug QTimer.singleShot til at sende signal i main thread
"""Kaldes fra VLC's event-tråd — må IKKE røre Qt-objekter direkte."""
# QTimer.singleShot er thread-safe og sender alt til main thread
from PyQt6.QtCore import QTimer as _QTimer
_QTimer.singleShot(0, self.song_ended.emit)
_QTimer.singleShot(0, lambda: self.state_changed.emit("stopped"))
_QTimer.singleShot(0, self._handle_end_in_main_thread)
def _handle_end_in_main_thread(self):
"""Kaldes i main thread — her er det sikkert at røre Qt."""
self._poll_timer.stop()
self.song_ended.emit()
self.state_changed.emit("stopped")