diff options
author | Akemi <der.richter@gmx.de> | 2018-04-09 16:10:48 +0200 |
---|---|---|
committer | Jan Ekström <jeebjp@gmail.com> | 2018-04-17 21:20:35 +0300 |
commit | 41d559c4a9b8311ff18803ad795b211d80f04cc5 (patch) | |
tree | d991314daca216cb3cd79a7934023cf3ef26c07f | |
parent | b2dc69e347ba22c3a97d7ab9625095d508c607e5 (diff) | |
download | mpv-41d559c4a9b8311ff18803ad795b211d80f04cc5.tar.bz2 mpv-41d559c4a9b8311ff18803ad795b211d80f04cc5.tar.xz |
cocoa-cb: fix a warning with swift 4.1 and slight cleanup
the icc profile data is mutated to an UnsafeMutablePointer and could
possibly changed. therefore the size of it should be accessed before a
possible change.
-rw-r--r-- | osdep/macOS_mpv_helper.swift | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/osdep/macOS_mpv_helper.swift b/osdep/macOS_mpv_helper.swift index 5d80e7b5b0..b023c4f098 100644 --- a/osdep/macOS_mpv_helper.swift +++ b/osdep/macOS_mpv_helper.swift @@ -127,9 +127,13 @@ class MPVHelper: NSObject { func setRenderICCProfile(_ profile: NSColorSpace) { if mpvRenderContext == nil { return } - var iccData = profile.iccProfileData - iccData!.withUnsafeMutableBytes { (u8Ptr: UnsafeMutablePointer<UInt8>) in - let iccBstr = bstrdup(nil, bstr(start: u8Ptr, len: iccData!.count)) + guard var iccData = profile.iccProfileData else { + sendWarning("Invalid ICC profile data.") + return + } + let iccSize = iccData.count + iccData.withUnsafeMutableBytes { (u8Ptr: UnsafeMutablePointer<UInt8>) in + let iccBstr = bstrdup(nil, bstr(start: u8Ptr, len: iccSize)) var icc = mpv_byte_array(data: iccBstr.start, size: iccBstr.len) let params = mpv_render_param(type: MPV_RENDER_PARAM_ICC_PROFILE, data: &icc) mpv_render_context_set_parameter(mpvRenderContext, params) |