From 8cd317c30a3410a16c1c964624b35d0a5e52b0b5 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Wed, 31 Jan 2018 13:00:12 +0100 Subject: [PATCH] Fixed issue with IM delivery notifications --- src/chat/chat-message/chat-message-p.h | 2 +- src/chat/chat-message/chat-message.cpp | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/chat/chat-message/chat-message-p.h b/src/chat/chat-message/chat-message-p.h index c76b27a8a..f446525c3 100644 --- a/src/chat/chat-message/chat-message-p.h +++ b/src/chat/chat-message/chat-message-p.h @@ -59,7 +59,7 @@ public: void setDirection (ChatMessage::Direction dir); - void setState(ChatMessage::State state, bool force = false); + void setState(ChatMessage::State state, bool force = false, bool storeInDb = true); void setTime(time_t time); diff --git a/src/chat/chat-message/chat-message.cpp b/src/chat/chat-message/chat-message.cpp index eaf8899eb..8f5a86c42 100644 --- a/src/chat/chat-message/chat-message.cpp +++ b/src/chat/chat-message/chat-message.cpp @@ -63,7 +63,7 @@ void ChatMessagePrivate::setIsReadOnly (bool readOnly) { isReadOnly = readOnly; } -void ChatMessagePrivate::setState (ChatMessage::State s, bool force) { +void ChatMessagePrivate::setState (ChatMessage::State s, bool force, bool storeInDb) { L_Q(); if (force) @@ -98,7 +98,9 @@ void ChatMessagePrivate::setState (ChatMessage::State s, bool force) { if (cbs && linphone_chat_message_cbs_get_msg_state_changed(cbs)) linphone_chat_message_cbs_get_msg_state_changed(cbs)(msg, linphone_chat_message_get_state(msg)); - store(); + if (storeInDb) { + store(); + } } belle_http_request_t *ChatMessagePrivate::getHttpRequest () const { @@ -389,7 +391,7 @@ LinphoneReason ChatMessagePrivate::receive () { shared_ptr core = q->getCore(); shared_ptr chatRoom = q->getChatRoom(); - setState(ChatMessage::State::Delivered); + setState(ChatMessage::State::Delivered, false, false); // Wait for decryption and CPIM to reveal the real message to know if it must be stored or not // --------------------------------------- // Start of message modification