summaryrefslogtreecommitdiff
path: root/protocols/ICQ-WIM/src/server.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/ICQ-WIM/src/server.cpp')
-rw-r--r--protocols/ICQ-WIM/src/server.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/protocols/ICQ-WIM/src/server.cpp b/protocols/ICQ-WIM/src/server.cpp
index dfe5639cc8..9491c855e2 100644
--- a/protocols/ICQ-WIM/src/server.cpp
+++ b/protocols/ICQ-WIM/src/server.cpp
@@ -68,6 +68,7 @@ MCONTACT CIcqProto::CheckOwnMessage(const CMStringA &reqId, const CMStringA &msg
if (db_event_getById(m_szModuleName, msgId) == 0)
db_event_setId(m_szModuleName, 1, msgId);
+ mir_cslock lck(m_csOwnIds);
m_arOwnIds.remove(m_arOwnIds.indexOf(&own));
}
return ret;
@@ -627,6 +628,8 @@ void CIcqProto::OnSendMessage(NETLIBHTTPREQUEST *pReply, AsyncHttpRequest *pReq)
JsonReply root(pReply);
if (root.error() != 200) {
ProtoBroadcastAck(ownMsg->m_hContact, ACKTYPE_MESSAGE, ACKRESULT_FAILED, (HANDLE)ownMsg->m_msgid, 0);
+
+ mir_cslock lck(m_csOwnIds);
for (auto &it : m_arOwnIds) {
if (it == ownMsg) {
m_arOwnIds.remove(m_arOwnIds.indexOf(&it));