| 3065 | } |
| 3066 | |
| 3067 | void 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 | |
| 3093 | MsgId Session::nextLocalMessageId() { |
| 3094 | Expects(_localMessageIdCounter < EndClientMsgId); |
nothing calls this directly
no test coverage detected