Isolate postbox

This commit is contained in:
Ali
2021-09-22 01:56:45 +03:00
parent c808238571
commit d35acc8283
56 changed files with 744 additions and 182 deletions

View File

@@ -992,7 +992,7 @@ public final class AnimatedStickerNode: ASDisplayNode {
let timerHolder = self.timer
let frameSourceHolder = self.frameSource
self.queue.async { [weak self] in
var maybeFrameSource: AnimatedStickerFrameSource? = frameSourceHolder.with { $0 }?.syncWith { $0 }?.value
var maybeFrameSource: AnimatedStickerFrameSource? = frameSourceHolder.with { $0 }?.syncWith { $0 }.value
if maybeFrameSource == nil {
let notifyUpdated: (() -> Void)? = nil
if let directData = directData {
@@ -1025,10 +1025,10 @@ public final class AnimatedStickerNode: ASDisplayNode {
let frameRate = frameSource.frameRate
let timer = SwiftSignalKit.Timer(timeout: 1.0 / Double(frameRate), repeat: !firstFrame, completion: {
let maybeFrame = frameQueue.syncWith { frameQueue in
let frame = frameQueue.syncWith { frameQueue in
return frameQueue.take(draw: true)
}
if let maybeFrame = maybeFrame, let frame = maybeFrame {
if let frame = frame {
Queue.mainQueue().async {
guard let strongSelf = self else {
return
@@ -1124,10 +1124,10 @@ public final class AnimatedStickerNode: ASDisplayNode {
let frameRate = frameSource.frameRate
let timer = SwiftSignalKit.Timer(timeout: 1.0 / Double(frameRate), repeat: !firstFrame, completion: {
let maybeFrame = frameQueue.syncWith { frameQueue in
let frame = frameQueue.syncWith { frameQueue in
return frameQueue.take(draw: true)
}
if let maybeFrame = maybeFrame, let frame = maybeFrame {
if let frame = frame {
Queue.mainQueue().async {
guard let strongSelf = self else {
return
@@ -1206,7 +1206,7 @@ public final class AnimatedStickerNode: ASDisplayNode {
let frameSourceHolder = self.frameSource
let timerHolder = self.timer
self.queue.async { [weak self] in
var maybeFrameSource: AnimatedStickerFrameSource? = frameSourceHolder.with { $0 }?.syncWith { $0 }?.value
var maybeFrameSource: AnimatedStickerFrameSource? = frameSourceHolder.with { $0 }?.syncWith { $0 }.value
if case .timestamp = position {
} else {
if let directData = directData {