summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mir_app/src/mdatabasecache.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/mir_app/src/mdatabasecache.cpp b/src/mir_app/src/mdatabasecache.cpp
index aa09fad9e3..9f769a1f7b 100644
--- a/src/mir_app/src/mdatabasecache.cpp
+++ b/src/mir_app/src/mdatabasecache.cpp
@@ -229,14 +229,16 @@ STDMETHODIMP_(DBVARIANT*) MDatabaseCache::GetCachedValuePtr(MCONTACT contactID,
// a contact setting
DBCachedContactValue *V, *V1;
DBCachedContact ccTemp, *cc;
+ {
+ mir_cslock lck(m_csContact);
+ ccTemp.contactID = contactID;
- ccTemp.contactID = contactID;
-
- int index = m_lContacts.getIndex(&ccTemp);
- if (index == -1)
- return nullptr;
+ int index = m_lContacts.getIndex(&ccTemp);
+ if (index == -1)
+ return nullptr;
- m_lastVL = cc = m_lContacts[index];
+ m_lastVL = cc = m_lContacts[index];
+ }
for (V = cc->first; V != nullptr; V = V->next)
if (V->name == szSetting)