From c21f5712f8d696d26464d0a2e82b8c2f620918c9 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Wed, 10 Apr 2019 10:47:44 +0300 Subject: [PATCH] Disabled pasting images with bad size from clipboard for albums. - Slightly refactored. --- Telegram/SourceFiles/boxes/edit_caption_box.cpp | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/Telegram/SourceFiles/boxes/edit_caption_box.cpp b/Telegram/SourceFiles/boxes/edit_caption_box.cpp index 0736f80f0..f3eb42f0c 100644 --- a/Telegram/SourceFiles/boxes/edit_caption_box.cpp +++ b/Telegram/SourceFiles/boxes/edit_caption_box.cpp @@ -629,6 +629,7 @@ bool EditCaptionBox::fileFromClipboard(not_null data) { if (!_isAllowedEditMedia) { return false; } + using Error = Storage::PreparedList::Error; auto list = [&] { auto url = QList(); @@ -642,9 +643,9 @@ bool EditCaptionBox::fileFromClipboard(not_null data) { auto result = canAddUrl ? Storage::PrepareMediaList(url, st::sendMediaPreviewSize) : Storage::PreparedList( - Storage::PreparedList::Error::EmptyFile, + Error::EmptyFile, QString()); - if (result.error == Storage::PreparedList::Error::None) { + if (result.error == Error::None) { return result; } else if (data->hasImage()) { auto image = qvariant_cast(data->imageData()); @@ -659,10 +660,18 @@ bool EditCaptionBox::fileFromClipboard(not_null data) { } return result; }(); - _preparedList = std::move(list); - if (_preparedList.files.empty()) { + if (list.error != Error::None || list.files.empty()) { return false; } + if (list.files.front().type == Storage::PreparedFile::AlbumType::None + && _isAlbum) { + Ui::show( + Box(lang(lng_edit_media_album_error)), + LayerOption::KeepOther); + return false; + } + + _preparedList = std::move(list); updateEditPreview(); return true; }