From d18fdf58c517c957809e9ec0b8044a05984de7c6 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sat, 27 Jan 2024 20:23:20 +0300 Subject: =?UTF-8?q?fixes=20#4140=20(NewStory:=20=D1=83=D0=B4=D0=B0=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BE=D1=82=D0=B4=D0=B5=D0=BB=D1=8C?= =?UTF-8?q?=D0=BD=D1=8B=D1=85=20=D1=81=D0=BE=D0=BE=D0=B1=D1=89=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B9)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- protocols/ICQ-WIM/src/proto.cpp | 5 ++++- protocols/ICQ-WIM/src/proto.h | 2 +- protocols/ICQ-WIM/src/server.cpp | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) (limited to 'protocols/ICQ-WIM/src') diff --git a/protocols/ICQ-WIM/src/proto.cpp b/protocols/ICQ-WIM/src/proto.cpp index 48f94f5714..ac144f2cdf 100644 --- a/protocols/ICQ-WIM/src/proto.cpp +++ b/protocols/ICQ-WIM/src/proto.cpp @@ -226,8 +226,11 @@ void CIcqProto::BatchDeleteMsg() m_hDeleteContact = INVALID_CONTACT_ID; } -void CIcqProto::OnEventDeleted(MCONTACT hContact, MEVENT hEvent) +void CIcqProto::OnEventDeleted(MCONTACT hContact, MEVENT hEvent, int flags) { + if (!(flags & CDF_FROM_SERVER)) + return; + if (m_hDeleteContact != INVALID_CONTACT_ID) if (m_hDeleteContact != hContact) BatchDeleteMsg(); diff --git a/protocols/ICQ-WIM/src/proto.h b/protocols/ICQ-WIM/src/proto.h index 7fe31a13e0..b7f05974ae 100644 --- a/protocols/ICQ-WIM/src/proto.h +++ b/protocols/ICQ-WIM/src/proto.h @@ -444,7 +444,7 @@ class CIcqProto : public PROTO void OnContactAdded(MCONTACT) override; bool OnContactDeleted(MCONTACT, uint32_t flags) override; MWindow OnCreateAccMgrUI(MWindow) override; - void OnEventDeleted(MCONTACT, MEVENT) override; + void OnEventDeleted(MCONTACT, MEVENT, int) override; void OnEventEdited(MCONTACT, MEVENT, const DBEVENTINFO &dbei) override; void OnMarkRead(MCONTACT, MEVENT) override; void OnModulesLoaded() override; diff --git a/protocols/ICQ-WIM/src/server.cpp b/protocols/ICQ-WIM/src/server.cpp index cd024c1a08..10a7905f27 100644 --- a/protocols/ICQ-WIM/src/server.cpp +++ b/protocols/ICQ-WIM/src/server.cpp @@ -824,7 +824,7 @@ void CIcqProto::OnGetPatches(MHttpResponse *pReply, AsyncHttpRequest *pReq) char msgId[100]; _i64toa(it.first, msgId, 10); if (MEVENT hEvent = db_event_getById(m_szModuleName, msgId)) - db_event_delete(hEvent, true); + db_event_delete(hEvent, CDF_FROM_SERVER); } } } -- cgit v1.2.3