diff --git a/Telegram/SourceFiles/chat_helpers/gifs_list_widget.cpp b/Telegram/SourceFiles/chat_helpers/gifs_list_widget.cpp index 7b8d315d8d..c181144e45 100644 --- a/Telegram/SourceFiles/chat_helpers/gifs_list_widget.cpp +++ b/Telegram/SourceFiles/chat_helpers/gifs_list_widget.cpp @@ -379,15 +379,18 @@ void GifsListWidget::selectInlineResult(int row, int column) { } } else if (const auto document = item->getDocument()) { const auto media = document->activeMediaView(); - if ((media && media->loaded()) + const auto preview = Data::VideoPreviewState(media.get()); + if ((media && preview.loaded()) || QGuiApplication::keyboardModifiers() == Qt::ControlModifier) { _fileChosen.fire_copy(document); - } else if (document->loading()) { - document->cancel(); - } else { - document->save( - document->stickerOrGifOrigin(), - QString()); + } else if (!preview.usingThumbnail()) { + if (preview.loading()) { + document->cancel(); + } else { + document->save( + document->stickerOrGifOrigin(), + QString()); + } } } else if (const auto inlineResult = item->getResult()) { if (inlineResult->onChoose(item)) {