From 2f112b300d2c5582b9a614ce3588d6d6879bcd1c Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sat, 12 Oct 2024 21:03:45 +0300 Subject: Telegram: fix for occasional crash --- protocols/Telegram/src/utils.cpp | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) (limited to 'protocols/Telegram/src') diff --git a/protocols/Telegram/src/utils.cpp b/protocols/Telegram/src/utils.cpp index 627e11eda5..9ef0809d38 100644 --- a/protocols/Telegram/src/utils.cpp +++ b/protocols/Telegram/src/utils.cpp @@ -738,15 +738,21 @@ CMStringA CTelegramProto::GetMessageText(TG_USER *pUser, const TD::message *pMsg } if (m_bSmileyAdd) { - const char *pwszFileExt; - switch (pSticker->format_->get_id()) { - case TD::stickerFormatTgs::ID: pwszFileExt = "tga"; break; - case TD::stickerFormatWebm::ID: pwszFileExt = "webm"; break; - case TD::stickerFormatWebp::ID: pwszFileExt = "webp"; break; - default:pwszFileExt = "jpeg"; break; + if (pSticker->thumbnail_.get()) { + const char *pwszFileExt; + switch (pSticker->format_->get_id()) { + case TD::stickerFormatTgs::ID: pwszFileExt = "tga"; break; + case TD::stickerFormatWebm::ID: pwszFileExt = "webm"; break; + case TD::stickerFormatWebp::ID: pwszFileExt = "webp"; break; + default: + pwszFileExt = "jpeg"; break; + } + ret = GetMessageSticker(pSticker->thumbnail_->file_.get(), pwszFileExt); + } + else { + debugLogA("Strange sticker without preview"); + ret.Append(pSticker->emoji_.c_str()); } - - ret = GetMessageSticker(pSticker->thumbnail_->file_.get(), pwszFileExt); } else ret.AppendFormat("%s: %s", TranslateU("SmileyAdd plugin required to support stickers"), pSticker->emoji_.c_str()); } -- cgit v1.2.3