fix double message insertion
This commit is contained in:
parent
ac4b5e60f7
commit
d17a61e6d0
2 changed files with 10 additions and 6 deletions
|
|
@ -523,12 +523,16 @@ void ChatCore::resetEventLogList(QList<QSharedPointer<EventLogCore>> list) {
|
||||||
void ChatCore::appendEventLogsToEventLogList(QList<QSharedPointer<EventLogCore>> list) {
|
void ChatCore::appendEventLogsToEventLogList(QList<QSharedPointer<EventLogCore>> list) {
|
||||||
int nbAdded = 0;
|
int nbAdded = 0;
|
||||||
for (auto &e : list) {
|
for (auto &e : list) {
|
||||||
if (mEventLogList.contains(e)) continue;
|
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())
|
if (auto message = e->getChatMessageCore())
|
||||||
connect(message.get(), &ChatMessageCore::isReadChanged, this, [this] { emit lUpdateUnreadCount(); });
|
connect(message.get(), &ChatMessageCore::isReadChanged, this, [this] { emit lUpdateUnreadCount(); });
|
||||||
mEventLogList.append(e);
|
mEventLogList.append(e);
|
||||||
++nbAdded;
|
++nbAdded;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (nbAdded > 0) emit eventsInserted(list);
|
if (nbAdded > 0) emit eventsInserted(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -75,7 +75,7 @@ private:
|
||||||
QSharedPointer<ChatMessageCore> mChatMessageCore = nullptr;
|
QSharedPointer<ChatMessageCore> mChatMessageCore = nullptr;
|
||||||
QSharedPointer<CallHistoryCore> mCallHistoryCore = nullptr;
|
QSharedPointer<CallHistoryCore> mCallHistoryCore = nullptr;
|
||||||
LinphoneEnums::EventLogType mEventLogType;
|
LinphoneEnums::EventLogType mEventLogType;
|
||||||
bool mHandled;
|
bool mHandled = false;
|
||||||
bool mImportant;
|
bool mImportant;
|
||||||
bool mEphemeralRelated;
|
bool mEphemeralRelated;
|
||||||
QString mEventDetails;
|
QString mEventDetails;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue