From a2dab31fd6ca3728175716df2cff2dda448b2914 Mon Sep 17 00:00:00 2001
From: Jedi18 <targetakhil@gmail.com>
Date: Sun, 14 Feb 2021 13:01:16 +0530
Subject: [PATCH] Fix two room leaving related bugs and add invite user on
 clicking invite

---
 src/RoomList.cpp            | 11 +++++++++--
 src/dialogs/InviteUsers.cpp |  4 ++++
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/src/RoomList.cpp b/src/RoomList.cpp
index 764a8e428..67a7ac400 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 f85adb8ff..2de1d20ff 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();
-- 
GitLab