summaryrefslogtreecommitdiff
path: root/src/mir_core
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2024-10-12 21:03:45 +0300
committerGeorge Hazan <george.hazan@gmail.com>2024-10-12 21:03:45 +0300
commit2f112b300d2c5582b9a614ce3588d6d6879bcd1c (patch)
treea22e1cac3e346f12f8bcb032ab30892ffdf4698e /src/mir_core
parent007cece71aebe64dafc824894270e4661416dcfc (diff)
Telegram: fix for occasional crash
Diffstat (limited to 'src/mir_core')
-rw-r--r--src/mir_core/src/db.cpp17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/mir_core/src/db.cpp b/src/mir_core/src/db.cpp
index b691461e66..9527537a4d 100644
--- a/src/mir_core/src/db.cpp
+++ b/src/mir_core/src/db.cpp
@@ -485,16 +485,19 @@ MIR_CORE_DLL(int) db_event_markRead(MCONTACT hContact, MEVENT hDbEvent, bool bFr
{
if (g_pCurrDb == nullptr)
return 1;
-
- if (!g_pCurrDb->MarkEventRead(hContact, hDbEvent))
- return 1;
+ // we received remote mark read command
if (bFromServer)
CallService(MS_MESSAGESTATE_UPDATE, hContact, MRD_TYPE_READ);
- else if (auto *ppro = Proto_GetInstance(hContact)) {
- ppro->OnMarkRead(hContact, hDbEvent);
- return 0;
- }
+
+ if (!g_pCurrDb->MarkEventRead(hContact, hDbEvent))
+ return 1;
+
+ if (!bFromServer)
+ if (auto *ppro = Proto_GetInstance(hContact)) {
+ ppro->OnMarkRead(hContact, hDbEvent);
+ return 0;
+ }
return 1;
}