From ad893ab16e2a00359db6ae66d62e0947c0d637eb Mon Sep 17 00:00:00 2001 From: Benoit Martins Date: Mon, 24 Feb 2025 17:28:40 +0100 Subject: [PATCH] Fix FileTransferDone crash --- .../ViewModel/ConversationViewModel.swift | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Linphone/UI/Main/Conversations/ViewModel/ConversationViewModel.swift b/Linphone/UI/Main/Conversations/ViewModel/ConversationViewModel.swift index c7d12fb12..2dd0bb567 100644 --- a/Linphone/UI/Main/Conversations/ViewModel/ConversationViewModel.swift +++ b/Linphone/UI/Main/Conversations/ViewModel/ConversationViewModel.swift @@ -351,16 +351,17 @@ class ConversationViewModel: ObservableObject { } } } + if !self.conversationMessagesSection.isEmpty, !self.conversationMessagesSection[0].rows.isEmpty { - if let indexMessageEventLogId = self.conversationMessagesSection[0].rows.firstIndex(where: {$0.eventModel.eventLogId.isEmpty && $0.eventModel.eventLog.chatMessage != nil ? $0.eventModel.eventLog.chatMessage!.messageId == message.messageId : false}) { - DispatchQueue.main.async { + let indexMessageEventLogId = self.conversationMessagesSection[0].rows.firstIndex(where: {$0.eventModel.eventLogId.isEmpty && $0.eventModel.eventLog.chatMessage != nil ? $0.eventModel.eventLog.chatMessage!.messageId == message.messageId : false}) + let indexMessage = self.conversationMessagesSection[0].rows.firstIndex(where: {$0.eventModel.eventLogId == message.messageId}) + + DispatchQueue.main.async { + if let indexMessageEventLogId = indexMessageEventLogId { self.conversationMessagesSection[0].rows[indexMessageEventLogId].eventModel.eventLogId = message.messageId } - } - - if let indexMessage = self.conversationMessagesSection[0].rows.firstIndex(where: {$0.eventModel.eventLogId == message.messageId}) { - DispatchQueue.main.async { + if let indexMessage = indexMessage { self.conversationMessagesSection[0].rows[indexMessage].message.status = statusTmp ?? .error } }