diff --git a/Telegram/SourceFiles/history.cpp b/Telegram/SourceFiles/history.cpp index 4110b299aa..26da94f50c 100644 --- a/Telegram/SourceFiles/history.cpp +++ b/Telegram/SourceFiles/history.cpp @@ -759,12 +759,12 @@ HistoryItem *ChannelHistory::addNewToBlocks(const MTPMessage &msg, NewMessageTyp if (prev && prev->type() == HistoryItemGroup) { static_cast(prev)->uniteWith(item); - return prev; + } else { + QDateTime date = prev ? prev->date : item->date; + HistoryBlock *block = prev ? prev->block() : pushBackNewBlock(); + addItemToBlock(HistoryGroup::create(this, item, date), block); } - - QDateTime date = prev ? prev->date : item->date; - HistoryBlock *block = prev ? prev->block() : pushBackNewBlock(); - return addItemToBlock(HistoryGroup::create(this, item, date), block); + return item; } // when we are receiving channel dialog rows we get one important and one not important diff --git a/Telegram/SourceFiles/history.h b/Telegram/SourceFiles/history.h index 07bce6754c..cf4223b7b8 100644 --- a/Telegram/SourceFiles/history.h +++ b/Telegram/SourceFiles/history.h @@ -1163,7 +1163,10 @@ public: return !_block; } void attachToBlock(HistoryBlock *block, int index) { - t_assert(_block == nullptr && _indexInBlock < 0); + t_assert(_block == nullptr); + t_assert(_indexInBlock < 0); + t_assert(block != nullptr); + t_assert(index >= 0); _block = block; _indexInBlock = index; @@ -1172,6 +1175,9 @@ public: } } void setIndexInBlock(int index) { + t_assert(_block != nullptr); + t_assert(index >= 0); + _indexInBlock = index; } int indexInBlock() const {