diff --git a/Telegram/SourceFiles/boxes/reactions_settings_box.cpp b/Telegram/SourceFiles/boxes/reactions_settings_box.cpp index a03d2dbdc..19cbd9064 100644 --- a/Telegram/SourceFiles/boxes/reactions_settings_box.cpp +++ b/Telegram/SourceFiles/boxes/reactions_settings_box.cpp @@ -43,6 +43,7 @@ constexpr auto kVisibleButtonsCount = 7; PeerId GenerateUser(not_null history, const QString &name) { Expects(history->peer->isUser()); + const auto peerId = Data::FakePeerIdForJustName(name); history->owner().processUser(MTP_user( MTP_flags(MTPDuser::Flag::f_first_name | MTPDuser::Flag::f_min), diff --git a/Telegram/SourceFiles/data/data_peer.cpp b/Telegram/SourceFiles/data/data_peer.cpp index ce9bd3e35..ac7ec6518 100644 --- a/Telegram/SourceFiles/data/data_peer.cpp +++ b/Telegram/SourceFiles/data/data_peer.cpp @@ -81,9 +81,11 @@ style::color PeerUserpicColor(PeerId peerId) { } PeerId FakePeerIdForJustName(const QString &name) { - return peerFromUser(name.isEmpty() + constexpr auto kShift = (0xFEULL << 32); + const auto base = name.isEmpty() ? 777 - : base::crc32(name.constData(), name.size() * sizeof(QChar))); + : base::crc32(name.constData(), name.size() * sizeof(QChar)); + return peerFromUser(kShift + std::abs(base)); } bool UpdateBotCommands(