mirror of
https://github.com/telegramdesktop/tdesktop
synced 2025-09-02 07:25:46 +00:00
Fixed display at least one injected sponsored message.
This commit is contained in:
@@ -160,6 +160,7 @@ void SponsoredMessages::inject(
|
||||
return (*blockIt)->messages;
|
||||
};
|
||||
auto lastViewIt = ranges::find(messages(), lastView, &ViewPtr::get);
|
||||
auto appendAtLeastToEnd = false;
|
||||
while ((summaryBetween < list.postsBetween)
|
||||
|| (summaryHeight < betweenHeight)) {
|
||||
lastViewIt++;
|
||||
@@ -168,6 +169,10 @@ void SponsoredMessages::inject(
|
||||
if (blockIt != end(history->blocks)) {
|
||||
lastViewIt = begin(messages());
|
||||
} else {
|
||||
if (!list.injectedCount) {
|
||||
appendAtLeastToEnd = true;
|
||||
break;
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -182,6 +187,12 @@ void SponsoredMessages::inject(
|
||||
entryIt->itemFullId = FullMsgId(
|
||||
history->peer->id,
|
||||
_session->data().nextLocalMessageId());
|
||||
if (appendAtLeastToEnd) {
|
||||
entryIt->item.reset(history->addSponsoredMessage(
|
||||
entryIt->itemFullId.msg,
|
||||
entryIt->sponsored.from,
|
||||
entryIt->sponsored.textWithEntities));
|
||||
} else {
|
||||
const auto makedMessage = history->makeMessage(
|
||||
entryIt->itemFullId.msg,
|
||||
entryIt->sponsored.from,
|
||||
@@ -193,6 +204,7 @@ void SponsoredMessages::inject(
|
||||
std::distance(begin(history->blocks), blockIt),
|
||||
std::distance(begin(messages()), lastViewIt) + 1);
|
||||
messages().back().get()->setPendingResize();
|
||||
}
|
||||
list.injectedCount++;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user