diff options
Diffstat (limited to 'src/cocoa')
| -rw-r--r-- | src/cocoa/window.m | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/cocoa/window.m b/src/cocoa/window.m index 335c065..645ae07 100644 --- a/src/cocoa/window.m +++ b/src/cocoa/window.m @@ -1798,7 +1798,10 @@ static NSImage *image_from_pixels(const uint32_t *pixels, int width, int height) CGColorSpaceRef cs = CGColorSpaceCreateWithName(kCGColorSpaceSRGB); if (!cs) return nil; size_t bytes = (size_t)width * (size_t)height * 4; - CGDataProviderRef provider = CGDataProviderCreateWithCopy((const uint8_t *)pixels, bytes); + CFDataRef data = CFDataCreate(kCFAllocatorDefault, (const UInt8 *)pixels, (CFIndex)bytes); + CGDataProviderRef provider = data ? CGDataProviderCreateWithCFData(data) : NULL; + if (data) + CFRelease(data); if (!provider) { CGColorSpaceRelease(cs); return nil; |
