summaryrefslogtreecommitdiff
path: root/protocols
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2023-12-22 17:55:36 +0300
committerGeorge Hazan <george.hazan@gmail.com>2023-12-22 17:55:36 +0300
commitaf546e2f55ccb9a270ce4967d1942aebfcbbea19 (patch)
treefc15b7c1616f190637989534918687cf17403274 /protocols
parent7f2ed0ff4588043500b739e151c4db73e5e2968e (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.cpp7
-rw-r--r--protocols/JabberG/src/jabber_rc.cpp4
-rw-r--r--protocols/VKontakte/src/misc.cpp5
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);