Fix crash for events that are not RoomMessageEvents

BUG: 476153
This commit is contained in:
Tobias Fella
2023-10-27 21:45:55 +02:00
parent 87b8d6710e
commit f690b76efa

View File

@@ -100,7 +100,9 @@ void MessageEventModel::setRoom(NeoChatRoom *room)
room->setDisplayed(); room->setDisplayed();
for (auto event = m_currentRoom->messageEvents().begin(); event != m_currentRoom->messageEvents().end(); ++event) { for (auto event = m_currentRoom->messageEvents().begin(); event != m_currentRoom->messageEvents().end(); ++event) {
createEventObjects(&*event->viewAs<RoomMessageEvent>()); if (const auto &roomMessageEvent = &*event->viewAs<RoomMessageEvent>()) {
createEventObjects(roomMessageEvent);
}
} }
if (m_currentRoom->timelineSize() < 10 && !room->allHistoryLoaded()) { if (m_currentRoom->timelineSize() < 10 && !room->allHistoryLoaded()) {
@@ -120,9 +122,8 @@ void MessageEventModel::setRoom(NeoChatRoom *room)
for (auto &&event : events) { for (auto &&event : events) {
const RoomMessageEvent *message = dynamic_cast<RoomMessageEvent *>(event.get()); const RoomMessageEvent *message = dynamic_cast<RoomMessageEvent *>(event.get());
createEventObjects(message);
if (message != nullptr) { if (message != nullptr) {
createEventObjects(message);
if (NeoChatConfig::self()->showFancyEffects()) { if (NeoChatConfig::self()->showFancyEffects()) {
QString planBody = message->plainBody(); QString planBody = message->plainBody();
// snowflake // snowflake