Add autoreleasepool to DisplayLinkCallback to release objects
This commit is contained in:
parent
10d06f6a33
commit
73c7e267a9
|
@ -269,6 +269,7 @@ static BOOL kSDDisplayLinkUseTargetTimestamp = NO; // Use `next` fire time, or `
|
|||
|
||||
#if SD_MAC
|
||||
static CVReturn DisplayLinkCallback(CVDisplayLinkRef displayLink, const CVTimeStamp *inNow, const CVTimeStamp *inOutputTime, CVOptionFlags flagsIn, CVOptionFlags *flagsOut, void *displayLinkContext) {
|
||||
@autoreleasepool {
|
||||
// CVDisplayLink callback is not on main queue
|
||||
// Actually `SDWeakProxy` but not `SDDisplayLink`
|
||||
SDDisplayLink *object = (__bridge SDDisplayLink *)displayLinkContext;
|
||||
|
@ -286,5 +287,6 @@ static CVReturn DisplayLinkCallback(CVDisplayLinkRef displayLink, const CVTimeSt
|
|||
[object displayLinkDidRefresh:(__bridge id)(displayLink)];
|
||||
});
|
||||
return kCVReturnSuccess;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue