diff options
author | Sergey Bolhovskoy <elzorfox@ya.ru> | 2015-09-24 03:44:59 +0000 |
---|---|---|
committer | Sergey Bolhovskoy <elzorfox@ya.ru> | 2015-09-24 03:44:59 +0000 |
commit | 1327fc6976d246fe73be1a73b9fb58767b8dc635 (patch) | |
tree | 6b88bd87585c0e100d8bc7785d2b2f353c8cfca2 /protocols/VKontakte/src/misc.cpp | |
parent | 037511a364629d200c22cd08e0fa4922f2429bfc (diff) |
VKontakte:
fix(?) user status processing
rework remove unread message status from clist
git-svn-id: http://svn.miranda-ng.org/main/trunk@15430 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'protocols/VKontakte/src/misc.cpp')
-rw-r--r-- | protocols/VKontakte/src/misc.cpp | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/protocols/VKontakte/src/misc.cpp b/protocols/VKontakte/src/misc.cpp index 06e0bccac2..dcdfd848fe 100644 --- a/protocols/VKontakte/src/misc.cpp +++ b/protocols/VKontakte/src/misc.cpp @@ -666,18 +666,14 @@ void CVkProto::MarkDialogAsRead(MCONTACT hContact) return;
MEVENT hDBEvent;
+ MCONTACT hMContact = db_mc_tryMeta(hContact);
while ((hDBEvent = db_event_firstUnread(hContact)) != NULL) {
db_event_markRead(hContact, hDBEvent);
- int res = CallService(MS_CLIST_REMOVEEVENT, hContact, hDBEvent);
- debugLogA("CVkProto::MarkDialogAsRead [1] result = %d, hDbEvent = %d", res, (int)hDBEvent);
- }
-
- hContact = db_mc_tryMeta(hContact);
- CLISTEVENT *cle = NULL;
- while ((cle = (CLISTEVENT*)CallService(MS_CLIST_GETEVENT, hContact, 0)) != NULL) {
- db_event_markRead(hContact, cle->hDbEvent);
- int res = CallService(MS_CLIST_REMOVEEVENT, hContact, cle->hDbEvent);
- debugLogA("CVkProto::MarkDialogAsRead [2] result = %d, hDbEvent = %d", res, (int)(cle->hDbEvent));
+ int res1 = CallService(MS_CLIST_REMOVEEVENT, hMContact, hDBEvent);
+ int res2 = 2;
+ if (hContact != hMContact)
+ res2 = CallService(MS_CLIST_REMOVEEVENT, hContact, hDBEvent);
+ debugLogA("CVkProto::MarkDialogAsRead [1] result = (%d, %d), hDbEvent = %d", res1, res2, (int)hDBEvent);
}
}
|