From a7e295ae6496ca9ac837987f5553aff1faaaba18 Mon Sep 17 00:00:00 2001 From: John Preston Date: Fri, 8 Jul 2022 22:44:26 +0400 Subject: [PATCH] Fix build with Xcode. --- .../SourceFiles/chat_helpers/emoji_list_widget.cpp | 1 - Telegram/SourceFiles/ffmpeg/ffmpeg_emoji.cpp | 10 +++------- Telegram/SourceFiles/ui/text/custom_emoji_instance.cpp | 7 ++++--- Telegram/lib_ui | 2 +- 4 files changed, 8 insertions(+), 12 deletions(-) diff --git a/Telegram/SourceFiles/chat_helpers/emoji_list_widget.cpp b/Telegram/SourceFiles/chat_helpers/emoji_list_widget.cpp index 01eb4e254..79d92b377 100644 --- a/Telegram/SourceFiles/chat_helpers/emoji_list_widget.cpp +++ b/Telegram/SourceFiles/chat_helpers/emoji_list_widget.cpp @@ -1057,7 +1057,6 @@ void EmojiListWidget::refreshCustom() { if (document->sticker()) { auto i = _instances.find(document->id); if (i == end(_instances)) { - using Loading = Ui::CustomEmoji::Loading; auto loader = owner->customEmojiManager().createLoader( document, Data::CustomEmojiManager::SizeTag::Large); diff --git a/Telegram/SourceFiles/ffmpeg/ffmpeg_emoji.cpp b/Telegram/SourceFiles/ffmpeg/ffmpeg_emoji.cpp index ef379128f..d5a57109d 100644 --- a/Telegram/SourceFiles/ffmpeg/ffmpeg_emoji.cpp +++ b/Telegram/SourceFiles/ffmpeg/ffmpeg_emoji.cpp @@ -70,10 +70,6 @@ private: int _rotation = 0; //AVRational _aspect = kNormalAspect; - int _width = 0; - int _height = 0; - QSize _swsSize; - crl::time _framePosition = 0; int _nextFrameDelay = 0; int _currentFrameDelay = 0; @@ -118,7 +114,7 @@ int EmojiGenerator::Impl::read(uint8_t *buf, int buf_size) { if (available <= 0) { return -1; } - const auto fill = std::min(available, buf_size); + const auto fill = std::min(int(available), buf_size); memcpy(buf, _bytes.data() + _deviceOffset, fill); _deviceOffset += fill; return fill; @@ -187,7 +183,7 @@ EmojiGenerator::Frame EmojiGenerator::Impl::renderCurrent( auto dst = storage.bits() + dx * sizeof(int32) + dy * dstPerLine; if (srcSize == dstSize && bgra) { const auto srcPerLine = frame->linesize[0]; - const auto perLine = std::min(srcPerLine, dstPerLine); + const auto perLine = std::min(srcPerLine, int(dstPerLine)); auto src = frame->data[0]; for (auto y = 0, height = srcSize.height(); y != height; ++y) { memcpy(dst, src, perLine); @@ -205,7 +201,7 @@ EmojiGenerator::Frame EmojiGenerator::Impl::renderCurrent( // AV_NUM_DATA_POINTERS defined in AVFrame struct uint8_t *dstData[AV_NUM_DATA_POINTERS] = { dst, nullptr }; - int dstLinesize[AV_NUM_DATA_POINTERS] = { dstPerLine, 0 }; + int dstLinesize[AV_NUM_DATA_POINTERS] = { int(dstPerLine), 0 }; sws_scale( _scale.get(), frame->data, diff --git a/Telegram/SourceFiles/ui/text/custom_emoji_instance.cpp b/Telegram/SourceFiles/ui/text/custom_emoji_instance.cpp index 4d70c178a..323c3c911 100644 --- a/Telegram/SourceFiles/ui/text/custom_emoji_instance.cpp +++ b/Telegram/SourceFiles/ui/text/custom_emoji_instance.cpp @@ -304,7 +304,8 @@ PaintFrameResult Cache::paintCurrentFrame( _shown = now; } const auto info = frame(std::min(_frame, _frames - 1)); - p.drawImage(QPoint(x, y), *info.image, info.source); + const auto size = _size / style::DevicePixelRatio(); + p.drawImage(QRect(x, y, size, size), *info.image, info.source); const auto next = currentFrameFinishes(); const auto duration = next ? (next - _shown) : 0; return { @@ -360,7 +361,7 @@ Renderer::Renderer(RendererDescriptor &&descriptor) auto generator = factory(); auto rendered = generator->renderNext( QImage(), - QSize(size, size) * style::DevicePixelRatio(), + QSize(size, size), Qt::KeepAspectRatio); if (rendered.image.isNull()) { return; @@ -422,7 +423,7 @@ void Renderer::renderNext( ]() mutable { auto rendered = generator->renderNext( std::move(storage), - QSize(size, size) * style::DevicePixelRatio(), + QSize(size, size), Qt::KeepAspectRatio); crl::on_main(guard, [ =, diff --git a/Telegram/lib_ui b/Telegram/lib_ui index a7074136b..e65d49652 160000 --- a/Telegram/lib_ui +++ b/Telegram/lib_ui @@ -1 +1 @@ -Subproject commit a7074136b4d8ba17b623cf673afc054f3aa3145b +Subproject commit e65d4965257d5ab4b6bcff99b51ee50f0b690843