Closed mrousavy closed 2 weeks ago
Fixes an issue that actually should've occurred always, but apparently only occurred in runAsync, where the Frame was not properly released.
runAsync
Frame
Before, we manually ref-counted using _refCount, and only if we hit _refCount < 1 we set the _frame to nil.
_refCount
_refCount < 1
_frame
nil
Now, we moved incrementRefCount and decrementRefCount into Frame itself, which now uses CFRetain and CFRelease.
incrementRefCount
decrementRefCount
CFRetain
CFRelease
This seems safer as we use ARC/MRC from NS, but also it now properly executes runAsync without halting.
The latest updates on your projects. Learn more about Vercel for Git ↗︎
What
Fixes an issue that actually should've occurred always, but apparently only occurred in
runAsync
, where theFrame
was not properly released.Before, we manually ref-counted using
_refCount
, and only if we hit_refCount < 1
we set the_frame
tonil
.Now, we moved
incrementRefCount
anddecrementRefCount
intoFrame
itself, which now usesCFRetain
andCFRelease
.This seems safer as we use ARC/MRC from NS, but also it now properly executes
runAsync
without halting.Changes
Tested on
Related issues