Don't crash when invited room doesn't have member state for the current room
This smells illegal, but nothing stops a server from sending that to us so we shouldn't crash. BUG: 478903
This commit is contained in:
@@ -108,16 +108,14 @@ NeoChatRoom::NeoChatRoom(Connection *connection, QString roomId, JoinState joinS
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
auto roomMemberEvent = currentState().get<RoomMemberEvent>(localUser()->id());
|
auto roomMemberEvent = currentState().get<RoomMemberEvent>(localUser()->id());
|
||||||
Q_ASSERT(roomMemberEvent);
|
|
||||||
const QString senderId = roomMemberEvent->senderId();
|
|
||||||
QImage avatar_image;
|
QImage avatar_image;
|
||||||
if (!user(senderId)->avatarUrl(this).isEmpty()) {
|
if (roomMemberEvent && !user(roomMemberEvent->senderId())->avatarUrl(this).isEmpty()) {
|
||||||
avatar_image = user(senderId)->avatar(128, this);
|
avatar_image = user(roomMemberEvent->senderId())->avatar(128, this);
|
||||||
} else {
|
} else {
|
||||||
qWarning() << "using this room's avatar";
|
qWarning() << "using this room's avatar";
|
||||||
avatar_image = avatar(128);
|
avatar_image = avatar(128);
|
||||||
}
|
}
|
||||||
NotificationsManager::instance().postInviteNotification(this, displayNameForHtml(), htmlSafeMemberName(senderId), avatar_image);
|
NotificationsManager::instance().postInviteNotification(this, displayNameForHtml(), htmlSafeMemberName(roomMemberEvent->senderId()), avatar_image);
|
||||||
});
|
});
|
||||||
connect(this, &Room::changed, this, [this] {
|
connect(this, &Room::changed, this, [this] {
|
||||||
Q_EMIT canEncryptRoomChanged();
|
Q_EMIT canEncryptRoomChanged();
|
||||||
|
|||||||
Reference in New Issue
Block a user