Fix two room leaving related bugs and add invite user on clicking invite
2 files changed, 13 insertions, 2 deletions
diff --git a/src/RoomList.cpp b/src/RoomList.cpp
index 764a8e42..67a7ac40 100644
--- a/src/RoomList.cpp
+++ b/src/RoomList.cpp
@@ -106,6 +106,10 @@ void
RoomList::removeRoom(const QString &room_id, bool reset)
{
auto roomIt = rooms_.find(room_id);
+ if (roomIt == rooms_.end()) {
+ return;
+ }
+
for (auto roomSortIt = rooms_sort_cache_.begin(); roomSortIt != rooms_sort_cache_.end();
++roomSortIt) {
if (roomIt->second == *roomSortIt) {
@@ -523,8 +527,11 @@ RoomList::firstRoom() const
auto item = qobject_cast<RoomInfoListItem *>(contentsLayout_->itemAt(i)->widget());
if (item) {
- return std::pair<QString, QSharedPointer<RoomInfoListItem>>(
- item->roomId(), rooms_.at(item->roomId()));
+ auto topRoom = rooms_.find(item->roomId());
+ if (topRoom != rooms_.end()) {
+ return std::pair<QString, QSharedPointer<RoomInfoListItem>>(
+ item->roomId(), topRoom->second);
+ }
}
}
diff --git a/src/dialogs/InviteUsers.cpp b/src/dialogs/InviteUsers.cpp
index f85adb8f..2de1d20f 100644
--- a/src/dialogs/InviteUsers.cpp
+++ b/src/dialogs/InviteUsers.cpp
@@ -65,6 +65,10 @@ InviteUsers::InviteUsers(QWidget *parent)
connect(inviteeInput_, &TextField::returnPressed, this, &InviteUsers::addUser);
connect(confirmBtn_, &QPushButton::clicked, [this]() {
+ if (!inviteeInput_->text().isEmpty()) {
+ addUser();
+ }
+
emit sendInvites(invitedUsers());
inviteeInput_->clear();
|