From b56912b72923609bc76f35865bfcda5b6bbf4af0 Mon Sep 17 00:00:00 2001 From: Benoit Martins Date: Tue, 10 Sep 2024 10:38:36 +0200 Subject: [PATCH] Fix addChatMessageDelegate crash Check if index is smaller than the size of the list --- .../ViewModel/ConversationViewModel.swift | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/Linphone/UI/Main/Conversations/ViewModel/ConversationViewModel.swift b/Linphone/UI/Main/Conversations/ViewModel/ConversationViewModel.swift index 237221cca..6d1adbedb 100644 --- a/Linphone/UI/Main/Conversations/ViewModel/ConversationViewModel.swift +++ b/Linphone/UI/Main/Conversations/ViewModel/ConversationViewModel.swift @@ -103,13 +103,11 @@ class ConversationViewModel: ObservableObject { statusTmp = .sending } - let indexMessage = self.conversationMessagesSection[0].rows.firstIndex(where: {$0.eventLog.chatMessage?.messageId == message.messageId}) - - if self.conversationMessagesSection[0].rows[indexMessage!].message.status != statusTmp { - DispatchQueue.main.async { - if indexMessage != nil { + if let indexMessage = self.conversationMessagesSection[0].rows.firstIndex(where: {$0.eventLog.chatMessage?.messageId == message.messageId}) { + if indexMessage < self.conversationMessagesSection[0].rows.count && self.conversationMessagesSection[0].rows[indexMessage].message.status != statusTmp { + DispatchQueue.main.async { self.objectWillChange.send() - self.conversationMessagesSection[0].rows[indexMessage!].message.status = statusTmp + self.conversationMessagesSection[0].rows[indexMessage].message.status = statusTmp } } }