diff --git a/Linphone/core/chat/message/EventLogList.cpp b/Linphone/core/chat/message/EventLogList.cpp index 1505d88f7..3d476561a 100644 --- a/Linphone/core/chat/message/EventLogList.cpp +++ b/Linphone/core/chat/message/EventLogList.cpp @@ -65,6 +65,7 @@ void EventLogList::disconnectItem(const QSharedPointer &item) { disconnect(message.get(), &ChatMessageCore::isReadChanged, this, nullptr); disconnect(message.get(), &ChatMessageCore::deleted, this, nullptr); disconnect(message.get(), &ChatMessageCore::edited, this, nullptr); + disconnect(message.get(), &ChatMessageCore::isRetractedChanged, this, nullptr); } } @@ -78,6 +79,9 @@ void EventLogList::connectItem(const QSharedPointer &item) { if (mChatCore) emit mChatCore->lUpdateLastMessage(); remove(item); }); + connect(message.get(), &ChatMessageCore::isRetractedChanged, this, [this, item] { + if (mChatCore) emit mChatCore->lUpdateUnreadCount(); + }); connect(message.get(), &ChatMessageCore::edited, this, [this, item] { auto eventLogModel = item->getModel(); mCoreModelConnection->invokeToModel([this, eventLogModel, item]() {