fix(macos): restore video layer on focus

This commit is contained in:
edde746
2026-05-11 10:13:05 +02:00
parent 8d76dff353
commit 9b248a7a5b
7 changed files with 56 additions and 12 deletions
@@ -12,7 +12,7 @@ protocol MpvPluginShared: AnyObject, MpvPlayerDelegate {
var eventSink: FlutterEventSink? { get }
var nameToId: [String: Int] { get set }
func setPlayerVisible(_ visible: Bool)
func setPlayerVisible(_ visible: Bool, restoreOnWindowVisible: Bool)
func updatePlayerFrame()
}
@@ -86,9 +86,10 @@ extension MpvPluginShared {
code: "INVALID_ARGS", message: "Missing 'visible' argument", details: nil))
return
}
let restoreOnWindowVisible = args["restoreOnWindowVisible"] as? Bool ?? false
DispatchQueue.main.async { [weak self] in
self?.setPlayerVisible(visible)
self?.setPlayerVisible(visible, restoreOnWindowVisible: restoreOnWindowVisible)
if visible { self?.updatePlayerFrame() }
result(nil)
}