From 8ab95782bbf13a9dbc54721f557c23507370b9a1 Mon Sep 17 00:00:00 2001 From: Ghislain MARY Date: Fri, 13 Oct 2017 11:19:55 +0200 Subject: [PATCH] Fix state check in the send() method of ChatMessage. --- src/chat/chat-message/chat-message.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/chat/chat-message/chat-message.cpp b/src/chat/chat-message/chat-message.cpp index a4b8678d6..d8f94593b 100644 --- a/src/chat/chat-message/chat-message.cpp +++ b/src/chat/chat-message/chat-message.cpp @@ -1422,8 +1422,10 @@ void ChatMessage::updateState(State state) { void ChatMessage::send () { L_D(); - if (d->state != State::NotDelivered) { - lWarning() << "Cannot resend chat message in state " << linphone_chat_message_state_to_string((LinphoneChatMessageState)d->state); + // Do not allow sending a message that is already being sent or that has been correctly delivered/displayed + if ((d->state == State::InProgress) || (d->state == State::Delivered) || (d->state == State::FileTransferDone) + || (d->state == State::DeliveredToUser) || (d->state == State::Displayed)) { + lWarning() << "Cannot send chat message in state " << linphone_chat_message_state_to_string((LinphoneChatMessageState)d->state); return; }