From 85c564ad70d93e4aff575e6f7f30902db4e2e832 Mon Sep 17 00:00:00 2001 From: Peter <> Date: Tue, 29 Oct 2019 01:13:05 +0400 Subject: [PATCH] Remove pooled items on error --- .../TelegramUI/FetchVideoMediaResource.swift | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/submodules/TelegramUI/TelegramUI/FetchVideoMediaResource.swift b/submodules/TelegramUI/TelegramUI/FetchVideoMediaResource.swift index 4dec4a0d84..904bf6c053 100644 --- a/submodules/TelegramUI/TelegramUI/FetchVideoMediaResource.swift +++ b/submodules/TelegramUI/TelegramUI/FetchVideoMediaResource.swift @@ -163,9 +163,19 @@ private final class FetchVideoLibraryMediaResourceContextImpl { queue.async { item?.next(value) } - }, error: { [weak item] value in + }, error: { [weak self, weak item] value in queue.async { - item?.error(value) + guard let strongSelf = self, let item = item else { + return + } + for i in 0 ..< strongSelf.items.count { + if strongSelf.items[i] === item { + strongSelf.items.remove(at: i) + item.error(value) + strongSelf.update() + break + } + } } }, completed: { [weak self, weak item] in queue.async {