mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-10-09 03:20:48 +00:00
Fix crashes
This commit is contained in:
parent
9941c499c6
commit
97cf00c506
@ -1025,7 +1025,14 @@ public class TextNode: ASDisplayNode {
|
||||
layoutSize.height += fontLineSpacing
|
||||
}
|
||||
|
||||
let lineRange = CFRangeMake(lastLineCharacterIndex, lineCharacterCount)
|
||||
var lineRange = CFRangeMake(lastLineCharacterIndex, lineCharacterCount)
|
||||
if lineRange.location + lineRange.length > attributedString.length {
|
||||
lineRange.length = attributedString.length - lineRange.location
|
||||
}
|
||||
if lineRange.length < 0 {
|
||||
break
|
||||
}
|
||||
|
||||
let coreTextLine = CTTypesetterCreateLineWithOffset(typesetter, lineRange, 100.0)
|
||||
lastLineCharacterIndex += lineCharacterCount
|
||||
|
||||
|
@ -125,11 +125,14 @@ public enum PeerInfoAvatarListItem: Equatable {
|
||||
}
|
||||
}
|
||||
|
||||
public init(entry: AvatarGalleryEntry) {
|
||||
public init?(entry: AvatarGalleryEntry) {
|
||||
switch entry {
|
||||
case let .topImage(representations, videoRepresentations, _, _, immediateThumbnailData, _):
|
||||
self = .topImage(representations, videoRepresentations, immediateThumbnailData)
|
||||
case let .image(_, reference, representations, videoRepresentations, _, _, _, _, immediateThumbnailData, _):
|
||||
if representations.isEmpty {
|
||||
return nil
|
||||
}
|
||||
self = .image(reference, representations, videoRepresentations, immediateThumbnailData)
|
||||
}
|
||||
}
|
||||
@ -876,6 +879,9 @@ public final class PeerInfoAvatarListContainerNode: ASDisplayNode {
|
||||
entries.append(entry)
|
||||
items.append(.topImage(representations, videoRepresentations, immediateThumbnailData))
|
||||
case let .image(_, reference, representations, videoRepresentations, _, _, _, _, immediateThumbnailData, _):
|
||||
if representations.isEmpty {
|
||||
continue
|
||||
}
|
||||
if image.0 == reference {
|
||||
entries.insert(entry, at: 0)
|
||||
items.insert(.image(reference, representations, videoRepresentations, immediateThumbnailData), at: 0)
|
||||
@ -916,6 +922,9 @@ public final class PeerInfoAvatarListContainerNode: ASDisplayNode {
|
||||
entries.append(entry)
|
||||
items.append(.topImage(representations, videoRepresentations, immediateThumbnailData))
|
||||
case let .image(_, reference, representations, videoRepresentations, _, _, _, _, immediateThumbnailData, _):
|
||||
if representations.isEmpty {
|
||||
continue
|
||||
}
|
||||
if image.0 != reference {
|
||||
entries.append(entry)
|
||||
items.append(.image(reference, representations, videoRepresentations, immediateThumbnailData))
|
||||
@ -1014,7 +1023,9 @@ public final class PeerInfoAvatarListContainerNode: ASDisplayNode {
|
||||
items.append(.custom(customNode))
|
||||
}
|
||||
for entry in entries {
|
||||
items.append(PeerInfoAvatarListItem(entry: entry))
|
||||
if let item = PeerInfoAvatarListItem(entry: entry) {
|
||||
items.append(item)
|
||||
}
|
||||
}
|
||||
strongSelf.galleryEntries = entries
|
||||
strongSelf.items = items
|
||||
|
Loading…
x
Reference in New Issue
Block a user