diff options
author | George Hazan <george.hazan@gmail.com> | 2023-12-22 17:55:36 +0300 |
---|---|---|
committer | George Hazan <george.hazan@gmail.com> | 2023-12-22 17:55:36 +0300 |
commit | af546e2f55ccb9a270ce4967d1942aebfcbbea19 (patch) | |
tree | fc15b7c1616f190637989534918687cf17403274 /protocols | |
parent | 7f2ed0ff4588043500b739e151c4db73e5e2968e (diff) |
DB::EventInfo::wipeNotify - useful helper to hide blinking event both from database & contact list
Diffstat (limited to 'protocols')
-rw-r--r-- | protocols/Facebook/src/server.cpp | 7 | ||||
-rw-r--r-- | protocols/JabberG/src/jabber_rc.cpp | 4 | ||||
-rw-r--r-- | protocols/VKontakte/src/misc.cpp | 5 |
3 files changed, 5 insertions, 11 deletions
diff --git a/protocols/Facebook/src/server.cpp b/protocols/Facebook/src/server.cpp index fcf1aacb2e..8601cd6db5 100644 --- a/protocols/Facebook/src/server.cpp +++ b/protocols/Facebook/src/server.cpp @@ -958,16 +958,15 @@ void FacebookProto::OnPublishReadReceipt(const JSONNode &root) uint32_t timestamp = _wtoi64(root["watermarkTimestampMs"].as_mstring());
for (MEVENT ev = db_event_firstUnread(pUser->hContact); ev != 0; ev = db_event_next(pUser->hContact, ev)) {
- DBEVENTINFO dbei = {};
- if (db_event_get(ev, &dbei))
+ DB::EventInfo dbei(ev);
+ if (!dbei)
continue;
if (dbei.timestamp > timestamp)
break;
if (dbei.flags & DBEF_SENT)
- if (!dbei.markedRead())
- db_event_markRead(pUser->hContact, ev, true);
+ dbei.wipeNotify(ev);
}
}
diff --git a/protocols/JabberG/src/jabber_rc.cpp b/protocols/JabberG/src/jabber_rc.cpp index 75a7ffa3b8..bd49cf6adf 100644 --- a/protocols/JabberG/src/jabber_rc.cpp +++ b/protocols/JabberG/src/jabber_rc.cpp @@ -560,9 +560,7 @@ int CJabberProto::AdhocForwardHandler(const TiXmlElement*, CJabberIqInfo *pInfo, nEventsSent++;
- db_event_markRead(hContact, hDbEvent, true);
- if (bRemoveCListEvents)
- Clist_RemoveEvent(hContact, hDbEvent);
+ dbei.wipeNotify(hDbEvent);
}
}
diff --git a/protocols/VKontakte/src/misc.cpp b/protocols/VKontakte/src/misc.cpp index 977e215386..6c5dcc8341 100644 --- a/protocols/VKontakte/src/misc.cpp +++ b/protocols/VKontakte/src/misc.cpp @@ -888,14 +888,11 @@ void CVkProto::MarkDialogAsRead(MCONTACT hContact) return;
MEVENT hDBEvent = db_event_firstUnread(hContact);
- MCONTACT hMContact = db_mc_tryMeta(hContact);
while (hDBEvent != 0) {
DBEVENTINFO dbei = {};
if (!db_event_get(hDBEvent, &dbei) && !mir_strcmp(m_szModuleName, dbei.szModule)) {
db_event_markRead(hContact, hDBEvent, true);
- Clist_RemoveEvent(hMContact, hDBEvent);
- if (hContact != hMContact)
- Clist_RemoveEvent(hContact, hDBEvent);
+ Clist_RemoveEvent(-1, hDBEvent);
}
hDBEvent = db_event_next(hContact, hDBEvent);
|