diff options
author | der richter <der.richter@gmx.de> | 2024-04-02 22:24:58 +0200 |
---|---|---|
committer | der richter <der.richter@gmx.de> | 2024-04-04 19:39:27 +0200 |
commit | fc36e5d71ed38746ef52cf29cc329f1ae5b74884 (patch) | |
tree | af18841aadf5a5d60d2d197ae0a5caaae97eb47e | |
parent | fef04315a179e2e3e36aad1976a7efebcbbe6995 (diff) | |
download | mpv-fc36e5d71ed38746ef52cf29cc329f1ae5b74884.tar.bz2 mpv-fc36e5d71ed38746ef52cf29cc329f1ae5b74884.tar.xz |
mac/window: fix unfs window size retrieval
the unfsContentFrame wasn't updated when externally resized leading to
a wrong unfs window size afterwards. update it on windowDidResize event
when not in fs, not animating and not live resizing.
-rw-r--r-- | video/out/mac/view.swift | 1 | ||||
-rw-r--r-- | video/out/mac/window.swift | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/video/out/mac/view.swift b/video/out/mac/view.swift index 3c0f34722f..047a5238e4 100644 --- a/video/out/mac/view.swift +++ b/video/out/mac/view.swift @@ -165,6 +165,7 @@ class View: NSView, CALayerDelegate { } override func magnify(with event: NSEvent) { + common.window?.isAnimating = event.phase != .ended event.phase == .ended ? common.windowDidEndLiveResize() : common.windowWillStartLiveResize() common.window?.addWindowScale(Double(event.magnification)) } diff --git a/video/out/mac/window.swift b/video/out/mac/window.swift index 3c02bd90ca..fb82e3c274 100644 --- a/video/out/mac/window.swift +++ b/video/out/mac/window.swift @@ -550,6 +550,9 @@ class Window: NSWindow, NSWindowDelegate { } func windowDidResize(_ notification: Notification) { + if let contentViewFrame = contentView?.frame, !isAnimating && !isInFullscreen && !inLiveResize { + unfsContentFrame = convertToScreen(contentViewFrame) + } common.windowDidResize() } |