From dfbcfe03fc7edc6d3797dca9bcf4a471a1456568 Mon Sep 17 00:00:00 2001
From: ababi <albert.babi@savoirfairelinux.com>
Date: Wed, 24 Feb 2021 15:37:26 +0100
Subject: [PATCH] smartlist: avoid updating smartlist on conversationRemoved

Accessing smartlist on conversationRemoved can return invalid
items. Instead, only show welcome view and use modelChanged signal
for updating smartlist.

Also avoid duplicate navigation to welcome view.

Gitlab: #300

Change-Id: Ic1c192fecceeb59287267e3445fabf6afb91ffd5
---
 src/conversationsadapter.cpp | 5 +----
 src/messagesadapter.cpp      | 1 -
 2 files changed, 1 insertion(+), 5 deletions(-)

diff --git a/src/conversationsadapter.cpp b/src/conversationsadapter.cpp
index 228f3f18f..d53340017 100644
--- a/src/conversationsadapter.cpp
+++ b/src/conversationsadapter.cpp
@@ -246,10 +246,7 @@ ConversationsAdapter::connectConversationModel(bool updateFilter)
     conversationRemovedConnection_
         = QObject::connect(currentConversationModel,
                            &lrc::api::ConversationModel::conversationRemoved,
-                           [this]() {
-                               conversationSmartListModel_->fillConversationsList();
-                               backToWelcomePage();
-                           });
+                           [this]() { backToWelcomePage(); });
 
     conversationClearedConnection
         = QObject::connect(currentConversationModel,
diff --git a/src/messagesadapter.cpp b/src/messagesadapter.cpp
index 644d86dc5..e6f3ee7c7 100644
--- a/src/messagesadapter.cpp
+++ b/src/messagesadapter.cpp
@@ -706,5 +706,4 @@ MessagesAdapter::removeConversation(const QString& accountId, const QString& uid
     lrcInstance_->getAccountInfo(accountId).conversationModel->removeConversation(uid, banContact);
     if (uid == currentConvUid_)
         currentConvUid_.clear();
-    emit navigateToWelcomePageRequested();
 }
-- 
GitLab