diff --git a/submodules/AttachmentUI/Sources/AttachmentContainer.swift b/submodules/AttachmentUI/Sources/AttachmentContainer.swift index 6aa2fdec49..acb3bd1be9 100644 --- a/submodules/AttachmentUI/Sources/AttachmentContainer.swift +++ b/submodules/AttachmentUI/Sources/AttachmentContainer.swift @@ -209,18 +209,18 @@ final class AttachmentContainer: ASDisplayNode, UIGestureRecognizerDelegate { if case let .known(value) = visibleContentOffset, value <= epsilon { if let scrollView = scrollView { scrollView.bounces = false - scrollView.setContentOffset(CGPoint(x: 0.0, y: 0.0), animated: false) + scrollView.setContentOffset(CGPoint(x: scrollView.contentOffset.x, y: 0.0), animated: false) } } else if let scrollView = scrollView, contentOffset <= -scrollView.contentInset.top + epsilon { scrollView.bounces = false - scrollView.setContentOffset(CGPoint(x: 0.0, y: -scrollView.contentInset.top), animated: false) + scrollView.setContentOffset(CGPoint(x: scrollView.contentOffset.x, y: -scrollView.contentInset.top), animated: false) } else if let scrollView = scrollView { translation = panOffset currentOffset = topInset + translation if self.isExpanded { recognizer.setTranslation(CGPoint(), in: self.view) } else if currentOffset > 0.0 { - scrollView.setContentOffset(CGPoint(x: 0.0, y: -scrollView.contentInset.top), animated: false) + scrollView.setContentOffset(CGPoint(x: scrollView.contentOffset.x, y: -scrollView.contentInset.top), animated: false) } } @@ -287,7 +287,7 @@ final class AttachmentContainer: ASDisplayNode, UIGestureRecognizerDelegate { if let listNode = listNode { listNode.scroller.setContentOffset(CGPoint(), animated: false) } else if let scrollView = scrollView { - scrollView.setContentOffset(CGPoint(x: 0.0, y: -scrollView.contentInset.top), animated: false) + scrollView.setContentOffset(CGPoint(x: scrollView.contentOffset.x, y: -scrollView.contentInset.top), animated: false) } let distance = topInset - offset @@ -318,9 +318,9 @@ final class AttachmentContainer: ASDisplayNode, UIGestureRecognizerDelegate { if let listNode = listNode { listNode.scroller.setContentOffset(CGPoint(), animated: false) } else if let scrollView = scrollView { - scrollView.setContentOffset(CGPoint(x: 0.0, y: -scrollView.contentInset.top), animated: false) + scrollView.setContentOffset(CGPoint(x: scrollView.contentOffset.x, y: -scrollView.contentInset.top), animated: false) Queue.mainQueue().after(0.01, { - scrollView.setContentOffset(CGPoint(x: 0.0, y: -scrollView.contentInset.top), animated: false) + scrollView.setContentOffset(CGPoint(x: scrollView.contentOffset.x, y: -scrollView.contentInset.top), animated: false) }) } diff --git a/submodules/LegacyComponents/Sources/TGMemoryImageCache.m b/submodules/LegacyComponents/Sources/TGMemoryImageCache.m index c066446c3f..f7c76491e1 100644 --- a/submodules/LegacyComponents/Sources/TGMemoryImageCache.m +++ b/submodules/LegacyComponents/Sources/TGMemoryImageCache.m @@ -127,7 +127,6 @@ return; } - __block id result = nil; [_queue dispatch:^ { TGMemoryImageCacheItem *item = _cache[key]; @@ -139,6 +138,8 @@ *attributes = item.attributes; completion(item.object); + } else { + completion(nil); } }]; }