mirror of
https://gitlab.linphone.org/BC/public/linphone-desktop.git
synced 2026-01-17 11:28:07 +00:00
fix double message insertion
This commit is contained in:
parent
ac4b5e60f7
commit
d17a61e6d0
2 changed files with 10 additions and 6 deletions
|
|
@ -523,11 +523,15 @@ void ChatCore::resetEventLogList(QList<QSharedPointer<EventLogCore>> list) {
|
|||
void ChatCore::appendEventLogsToEventLogList(QList<QSharedPointer<EventLogCore>> list) {
|
||||
int nbAdded = 0;
|
||||
for (auto &e : list) {
|
||||
if (mEventLogList.contains(e)) continue;
|
||||
if (auto message = e->getChatMessageCore())
|
||||
connect(message.get(), &ChatMessageCore::isReadChanged, this, [this] { emit lUpdateUnreadCount(); });
|
||||
mEventLogList.append(e);
|
||||
++nbAdded;
|
||||
auto it = std::find_if(mEventLogList.begin(), mEventLogList.end(), [e](QSharedPointer<EventLogCore> event) {
|
||||
return e->getEventLogId() == event->getEventLogId();
|
||||
});
|
||||
if (it == mEventLogList.end()) {
|
||||
if (auto message = e->getChatMessageCore())
|
||||
connect(message.get(), &ChatMessageCore::isReadChanged, this, [this] { emit lUpdateUnreadCount(); });
|
||||
mEventLogList.append(e);
|
||||
++nbAdded;
|
||||
}
|
||||
}
|
||||
if (nbAdded > 0) emit eventsInserted(list);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@ private:
|
|||
QSharedPointer<ChatMessageCore> mChatMessageCore = nullptr;
|
||||
QSharedPointer<CallHistoryCore> mCallHistoryCore = nullptr;
|
||||
LinphoneEnums::EventLogType mEventLogType;
|
||||
bool mHandled;
|
||||
bool mHandled = false;
|
||||
bool mImportant;
|
||||
bool mEphemeralRelated;
|
||||
QString mEventDetails;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue