summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAkemi <der.richter@gmx.de>2018-04-09 16:10:48 +0200
committerJan Ekström <jeebjp@gmail.com>2018-04-17 21:20:35 +0300
commit41d559c4a9b8311ff18803ad795b211d80f04cc5 (patch)
treed991314daca216cb3cd79a7934023cf3ef26c07f
parentb2dc69e347ba22c3a97d7ab9625095d508c607e5 (diff)
downloadmpv-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.swift10
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)