summaryrefslogtreecommitdiff
path: root/src/cocoa/window.m
diff options
context:
space:
mode:
Diffstat (limited to 'src/cocoa/window.m')
-rw-r--r--src/cocoa/window.m5
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;