23rd 04dbbab4a1 Replaced vector container for SendFilesBox::Block with deque.
SendFilesBox::Block (aka Block) passes action
callbacks to AlbumPreview / SingleMediaPreview.
These callbacks access Block::_items through a captured "this" pointer.

With std::vector<Block>, _blocks.emplace_back() may reallocate and
move existing Block objects. Callbacks already stored inside previews
then keep a dangling Block*, and a later context-menu action can crash
when reading this->_items.

Switched _blocks to std::deque<Block> so existing element addresses stay
stable on std::deque::push_back, keeping callback captures valid
for previews.
2026-02-28 19:07:08 +04:00
2026-01-28 08:57:57 +03:00
2026-01-29 16:49:47 +04:00
2025-07-02 17:24:38 +04:00
2026-02-09 21:59:51 +04:00
2026-02-27 23:34:33 +04:00
2026-01-05 12:21:48 +04:00

Telegram Desktop Official Messenger

This is the complete source code and the build instructions for the official Telegram messenger desktop client, based on the Telegram API and the MTProto secure protocol.

Version Build Status Build Status Build Status

Preview of Telegram Desktop

The source code is published under GPLv3 with OpenSSL exception, the license is available here.

Supported systems

The latest version is available for

Old system versions

Version 4.9.9 was the last that supports older systems

Version 2.4.4 was the last that supports older systems

Version 1.8.15 was the last that supports older systems

Third-party

Build instructions

S
Description
Desktop Telegram client with good customization and Ghost mode.
Readme GPL-3.0
325 MiB
Languages
C++ 71.6%
C 26.6%
Objective-C++ 0.6%
CMake 0.4%
Python 0.3%
Other 0.1%