History::createItem returns not_null.

This commit is contained in:
John Preston 2021-11-05 22:44:28 +04:00
parent 0e6e263a7b
commit af93d7cc97
3 changed files with 7 additions and 13 deletions

View file

@ -2213,7 +2213,7 @@ HistoryItem *Session::addNewMessage(
data, data,
localFlags, localFlags,
type); type);
if (result && type == NewMessageType::Unread) { if (type == NewMessageType::Unread) {
CheckForSwitchInlineButton(result); CheckForSwitchInlineButton(result);
} }
return result; return result;

View file

@ -360,7 +360,7 @@ void History::setForwardDraft(Data::ForwardDraft &&draft) {
_forwardDraft = std::move(draft); _forwardDraft = std::move(draft);
} }
HistoryItem *History::createItem( not_null<HistoryItem*> History::createItem(
MsgId id, MsgId id,
const MTPMessage &message, const MTPMessage &message,
MessageFlags localFlags, MessageFlags localFlags,
@ -382,28 +382,22 @@ std::vector<not_null<HistoryItem*>> History::createItems(
const auto detachExistingItem = true; const auto detachExistingItem = true;
for (auto i = data.cend(), e = data.cbegin(); i != e;) { for (auto i = data.cend(), e = data.cbegin(); i != e;) {
const auto &data = *--i; const auto &data = *--i;
const auto item = createItem( result.emplace_back(createItem(
IdFromMessage(data), IdFromMessage(data),
data, data,
localFlags, localFlags,
detachExistingItem); detachExistingItem));
if (item) {
result.emplace_back(item);
}
} }
return result; return result;
} }
HistoryItem *History::addNewMessage( not_null<HistoryItem*> History::addNewMessage(
MsgId id, MsgId id,
const MTPMessage &msg, const MTPMessage &msg,
MessageFlags localFlags, MessageFlags localFlags,
NewMessageType type) { NewMessageType type) {
const auto detachExistingItem = (type == NewMessageType::Unread); const auto detachExistingItem = (type == NewMessageType::Unread);
const auto item = createItem(id, msg, localFlags, detachExistingItem); const auto item = createItem(id, msg, localFlags, detachExistingItem);
if (!item) {
return nullptr;
}
if (type == NewMessageType::Existing || item->mainView()) { if (type == NewMessageType::Existing || item->mainView()) {
return item; return item;
} }

View file

@ -135,7 +135,7 @@ public:
void unpinAllMessages(); void unpinAllMessages();
HistoryItem *addNewMessage( not_null<HistoryItem*> addNewMessage(
MsgId id, MsgId id,
const MTPMessage &msg, const MTPMessage &msg,
MessageFlags localFlags, MessageFlags localFlags,
@ -193,7 +193,7 @@ public:
HistoryMessageMarkupData &&markup); HistoryMessageMarkupData &&markup);
// Used only internally and for channel admin log. // Used only internally and for channel admin log.
HistoryItem *createItem( not_null<HistoryItem*> createItem(
MsgId id, MsgId id,
const MTPMessage &message, const MTPMessage &message,
MessageFlags localFlags, MessageFlags localFlags,