Fix nil access in background queue with temporary variables

This commit is contained in:
Benoit Martins 2024-11-19 17:21:27 +01:00
parent 26476c0606
commit aad4b89e3f

View file

@ -2278,8 +2278,10 @@ 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
self.displayedConversation!.chatRoom.deleteMessage(message: self.selectedMessage!.eventModel.eventLog.chatMessage!)
chatRoomTmp.deleteMessage(message: chatMessageTmp)
DispatchQueue.main.async {
self.conversationMessagesSection[0].rows.remove(at: self.conversationMessagesSection[0].rows.firstIndex(of: self.selectedMessage!)!)
self.selectedMessage = nil
@ -2288,6 +2290,7 @@ class ConversationViewModel: ObservableObject {
}
}
}
}
// swiftlint:enable line_length
// swiftlint:enable type_body_length
// swiftlint:enable cyclomatic_complexity