forked from mirrors/linphone-iphone
Fix crash in deleteMessage method of ConversationViewModel
This commit is contained in:
parent
0c573e6e5c
commit
abf294625a
1 changed files with 10 additions and 8 deletions
|
|
@ -2407,15 +2407,17 @@ class ConversationViewModel: ObservableObject {
|
|||
}
|
||||
|
||||
func deleteMessage() {
|
||||
if self.displayedConversation != nil && selectedMessage != nil && selectedMessage!.eventModel.eventLog.chatMessage != nil {
|
||||
let chatRoomTmp = self.displayedConversation!.chatRoom
|
||||
if let chatMessageTmp = self.selectedMessage!.eventModel.eventLog.chatMessage {
|
||||
coreContext.doOnCoreQueue { _ in
|
||||
chatRoomTmp.deleteMessage(message: chatMessageTmp)
|
||||
if let displayedConversation = self.displayedConversation,
|
||||
let selectedMessage = self.selectedMessage,
|
||||
let chatMessage = selectedMessage.eventModel.eventLog.chatMessage {
|
||||
displayedConversation.chatRoom.deleteMessage(message: chatMessage)
|
||||
DispatchQueue.main.async {
|
||||
self.conversationMessagesSection[0].rows.remove(at: self.conversationMessagesSection[0].rows.firstIndex(of: self.selectedMessage!)!)
|
||||
self.selectedMessage = nil
|
||||
if let sectionIndex = self.conversationMessagesSection.firstIndex(where: { $0.chatRoomID == displayedConversation.id }),
|
||||
let rowIndex = self.conversationMessagesSection[sectionIndex].rows.firstIndex(of: selectedMessage) {
|
||||
self.conversationMessagesSection[sectionIndex].rows.remove(at: rowIndex)
|
||||
}
|
||||
self.selectedMessage = nil
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue