MCPcopy Create free account
hub / github.com/TDesktop-x64/tdesktop / unregisterMessage

Method unregisterMessage

Telegram/SourceFiles/data/data_session.cpp:3067–3091  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3065}
3066
3067void Session::unregisterMessage(not_null<HistoryItem*> item) {
3068 const auto peerId = item->history()->peer->id;
3069 const auto itemId = item->id;
3070 _itemRemoved.fire_copy(item);
3071 if (item->hasPossibleRestrictions()) {
3072 _possiblyRestricted.remove(item);
3073 }
3074 session().changes().messageUpdated(
3075 item,
3076 Data::MessageUpdate::Flag::Destroyed);
3077 groups().unregisterMessage(item);
3078 removeDependencyMessage(item);
3079 for (auto i = begin(_highlightings); i != end(_highlightings);) {
3080 if (i->second == item) {
3081 i = _highlightings.erase(i);
3082 } else {
3083 ++i;
3084 }
3085 }
3086 messagesListForInsert(peerId)->erase(itemId);
3087
3088 if (!peerIsChannel(peerId) && IsServerMsgId(itemId)) {
3089 _nonChannelMessages.erase(itemId);
3090 }
3091}
3092
3093MsgId Session::nextLocalMessageId() {
3094 Expects(_localMessageIdCounter < EndClientMsgId);

Callers

nothing calls this directly

Calls 8

peerIsChannelFunction · 0.85
IsServerMsgIdFunction · 0.85
messageUpdatedMethod · 0.80
historyMethod · 0.45
removeMethod · 0.45
changesMethod · 0.45
eraseMethod · 0.45

Tested by

no test coverage detected