Revision: 28726
          http://sourceforge.net/p/bibdesk/svn/28726
Author:   hofman
Date:     2024-02-11 17:43:18 +0000 (Sun, 11 Feb 2024)
Log Message:
-----------
get image buffer parameters early so image buffer can be safely released by ARC

Modified Paths:
--------------
    trunk/bibdesk_vendorsrc/amaxwell/FileView/FVCGImageUtilities.mm

Modified: trunk/bibdesk_vendorsrc/amaxwell/FileView/FVCGImageUtilities.mm
===================================================================
--- trunk/bibdesk_vendorsrc/amaxwell/FileView/FVCGImageUtilities.mm     
2024-02-11 16:57:45 UTC (rev 28725)
+++ trunk/bibdesk_vendorsrc/amaxwell/FileView/FVCGImageUtilities.mm     
2024-02-11 17:43:18 UTC (rev 28726)
@@ -800,7 +800,7 @@
      */
     vImage_Error ret = kvImageNoError;
     
-    NS_VALID_UNTIL_END_OF_SCOPE FVImageBuffer *interleavedImageBuffer = 
[[FVImageBuffer alloc] initWithWidth:desiredSize.width 
height:desiredSize.height bytesPerSample:4];
+    FVImageBuffer *interleavedImageBuffer = [[FVImageBuffer alloc] 
initWithWidth:desiredSize.width height:desiredSize.height bytesPerSample:4];
     if (nil == interleavedImageBuffer) 
         ret = kvImageMemoryAllocationError;
         
@@ -987,6 +987,9 @@
 #endif
     }
     
+    const size_t width = interleavedBuffer->width;
+    const size_t height = interleavedBuffer->height;
+    const size_t rowBytes = interleavedBuffer->rowBytes;
     CFDataRef data = NULL;
     if (kvImageNoError == ret) {
         data = [interleavedImageBuffer copyBufferData];
@@ -1017,7 +1020,7 @@
     
     image = NULL;
     if (kvImageNoError == ret)
-        image = CGImageCreate(interleavedBuffer->width, 
interleavedBuffer->height, bitsPerComponent, bitsPerPixel, 
interleavedBuffer->rowBytes, cspace, bitmapInfo, provider, NULL, true, intent);
+        image = CGImageCreate(width, height, bitsPerComponent, bitsPerPixel, 
rowBytes, cspace, bitmapInfo, provider, NULL, true, intent);
     CGDataProviderRelease(provider);
     CGColorSpaceRelease(cspace);
     

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit

Reply via email to