diff --git a/submodules/LegacyComponents/Sources/TGPhotoEditorController.m b/submodules/LegacyComponents/Sources/TGPhotoEditorController.m index 5093a30128..cbf564209e 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoEditorController.m +++ b/submodules/LegacyComponents/Sources/TGPhotoEditorController.m @@ -978,10 +978,22 @@ SSignal *imageSignal = nil; if (fullSizeImage == nil) { - imageSignal = [[self.requestOriginalFullSizeImage(_item, 0) filter:^bool(id result) + imageSignal = [[[self.requestOriginalFullSizeImage(_item, 0) filter:^bool(id result) { return [result isKindOfClass:[UIImage class]]; - }] takeLast]; + }] takeLast] map:^UIImage *(UIImage *image) { + if (avatar) { + CGFloat maxSide = [GPUImageContext maximumTextureSizeForThisDevice]; + if (MAX(image.size.width, image.size.height) > maxSide) { + CGSize fittedSize = TGScaleToFit(image.size, CGSizeMake(maxSide, maxSide)); + return TGScaleImageToPixelSize(image, fittedSize); + } else { + return image; + } + } else { + return image; + } + }]; } else {