From 21c6c7a7cb65e25d55cce54b6e097c797b66f95e Mon Sep 17 00:00:00 2001 From: Sergey Bolhovskoy Date: Thu, 9 Jul 2015 10:33:09 +0000 Subject: VKontakte: add locks for timer and vk_Instances fix mark messages as read in multiaccaunt configuration fix duplicate events and news version bump git-svn-id: http://svn.miranda-ng.org/main/trunk@14514 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- protocols/VKontakte/src/vk_proto.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'protocols/VKontakte/src/vk_proto.cpp') diff --git a/protocols/VKontakte/src/vk_proto.cpp b/protocols/VKontakte/src/vk_proto.cpp index efa6adfc2d..7ea79a813a 100644 --- a/protocols/VKontakte/src/vk_proto.cpp +++ b/protocols/VKontakte/src/vk_proto.cpp @@ -30,6 +30,7 @@ static int sttCompareAsyncHttpRequest(const AsyncHttpRequest *p1, const AsyncHtt } LIST vk_Instances(1, sttCompareProtocols); +mir_cs csInstances; static COLORREF sttColors[] = { 0, 1, 2, 3, 4, 5, 6 }; CVkProto::CVkProto(const char *szModuleName, const TCHAR *ptszUserName) : @@ -125,7 +126,10 @@ CVkProto::CVkProto(const char *szModuleName, const TCHAR *ptszUserName) : // Set all contacts offline -- in case we crashed SetAllContactStatuses(ID_STATUS_OFFLINE); - vk_Instances.insert(this); + { + mir_cslock lck(csInstances); + vk_Instances.insert(this); + } } CVkProto::~CVkProto() @@ -139,7 +143,10 @@ CVkProto::~CVkProto() Popup_UnregisterClass(m_hPopupClassError); if (m_hPopupClassNotification) Popup_UnregisterClass(m_hPopupClassNotification); - vk_Instances.remove(this); + { + mir_cslock lck(csInstances); + vk_Instances.remove(this); + } } int CVkProto::OnModulesLoaded(WPARAM, LPARAM) -- cgit v1.2.3