diff --git a/macos/Runner/MpvPlayer/MpvPlayerCore.swift b/macos/Runner/MpvPlayer/MpvPlayerCore.swift index ad5b5012..d9faa47b 100644 --- a/macos/Runner/MpvPlayer/MpvPlayerCore.swift +++ b/macos/Runner/MpvPlayer/MpvPlayerCore.swift @@ -7,6 +7,7 @@ class MpvPlayerCore: MpvPlayerCoreBase { private weak var window: NSWindow? private var playbackActivity: NSObjectProtocol? private var layerHiddenForOcclusion = false + private var isDisposed = false func initialize(in window: NSWindow) -> Bool { guard !isInitialized else { @@ -170,6 +171,9 @@ class MpvPlayerCore: MpvPlayerCoreBase { } func dispose() { + if isDisposed { return } + isDisposed = true + endPlaybackActivity() NotificationCenter.default.removeObserver(self) disposeSharedState(destroySynchronously: false)