Fixed message state if linphone has crashed while sending it

This commit is contained in:
Sylvain Berfini 2018-03-07 14:24:20 +01:00
parent c0f5d97a8a
commit 1b942b3306

View file

@ -601,7 +601,11 @@ shared_ptr<EventLog> MainDbPrivate::selectConferenceChatMessageEvent (
chatMessage->setIsSecured(bool(row.get<int>(9)));
ChatMessagePrivate *dChatMessage = chatMessage->getPrivate();
dChatMessage->setState(ChatMessage::State(row.get<int>(7)), true);
ChatMessage::State messageState = (ChatMessage::State) row.get<int>(7);
// This is necessary if linphone has crashed while sending a message. It will set the correct state so the user can resend it.
if (messageState == ChatMessage::State::Idle || messageState == ChatMessage::State::InProgress)
messageState = ChatMessage::State::NotDelivered;
dChatMessage->setState(messageState, true);
dChatMessage->forceFromAddress(IdentityAddress(row.get<string>(3)));
dChatMessage->forceToAddress(IdentityAddress(row.get<string>(4)));