summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorder richter <der.richter@gmx.de>2020-07-26 13:34:34 +0200
committerder richter <der.richter@gmx.de>2020-08-22 14:22:49 +0200
commitfa982a7cbe8253cddcc76388baf5af409cc4aa9a (patch)
tree1f2932a797a925192ed4964997ec5116732d8ff3
parentf79a591ae471c4da6fbb40c1da4bc4220f90aba4 (diff)
downloadmpv-fa982a7cbe8253cddcc76388baf5af409cc4aa9a.tar.bz2
mpv-fa982a7cbe8253cddcc76388baf5af409cc4aa9a.tar.xz
mac: properly guard and unwrap an optional value
i don't know what i was thinking there, but force unwrapping is a very bad idea.
-rw-r--r--video/out/mac/common.swift20
1 files changed, 12 insertions, 8 deletions
diff --git a/video/out/mac/common.swift b/video/out/mac/common.swift
index b4aa105b23..49e3835e10 100644
--- a/video/out/mac/common.swift
+++ b/video/out/mac/common.swift
@@ -437,34 +437,38 @@ class Common: NSObject {
events.pointee |= Int32(checkEvents())
return VO_TRUE
case VOCTRL_VO_OPTS_CHANGED:
- var opt: UnsafeMutableRawPointer?
- while mpv.nextChangedConfig(property: &opt) {
- if opt! == UnsafeMutableRawPointer(&mpv.optsPtr.pointee.border) {
+ var o: UnsafeMutableRawPointer?
+ while mpv.nextChangedConfig(property: &o) {
+ guard let opt = o else {
+ log.sendError("No changed options was retrieved")
+ return VO_TRUE
+ }
+ if opt == UnsafeMutableRawPointer(&mpv.optsPtr.pointee.border) {
DispatchQueue.main.async {
self.window?.border = Bool(mpv.opts.border)
}
}
- if opt! == UnsafeMutableRawPointer(&mpv.optsPtr.pointee.fullscreen) {
+ if opt == UnsafeMutableRawPointer(&mpv.optsPtr.pointee.fullscreen) {
DispatchQueue.main.async {
self.window?.toggleFullScreen(nil)
}
}
- if opt! == UnsafeMutableRawPointer(&mpv.optsPtr.pointee.ontop) {
+ if opt == UnsafeMutableRawPointer(&mpv.optsPtr.pointee.ontop) {
DispatchQueue.main.async {
self.window?.setOnTop(Bool(mpv.opts.ontop), Int(mpv.opts.ontop_level))
}
}
- if opt! == UnsafeMutableRawPointer(&mpv.optsPtr.pointee.keepaspect_window) {
+ if opt == UnsafeMutableRawPointer(&mpv.optsPtr.pointee.keepaspect_window) {
DispatchQueue.main.async {
self.window?.keepAspect = Bool(mpv.opts.keepaspect_window)
}
}
- if opt! == UnsafeMutableRawPointer(&mpv.optsPtr.pointee.window_minimized) {
+ if opt == UnsafeMutableRawPointer(&mpv.optsPtr.pointee.window_minimized) {
DispatchQueue.main.async {
self.window?.setMinimized(Bool(mpv.opts.window_minimized))
}
}
- if opt! == UnsafeMutableRawPointer(&mpv.optsPtr.pointee.window_maximized) {
+ if opt == UnsafeMutableRawPointer(&mpv.optsPtr.pointee.window_maximized) {
DispatchQueue.main.async {
self.window?.setMaximized(Bool(mpv.opts.window_maximized))
}