summaryrefslogtreecommitdiff
path: root/protocols/Steam/src/steam_proto.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/Steam/src/steam_proto.cpp')
-rw-r--r--protocols/Steam/src/steam_proto.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/protocols/Steam/src/steam_proto.cpp b/protocols/Steam/src/steam_proto.cpp
index 1cd0193702..2cb802c9fd 100644
--- a/protocols/Steam/src/steam_proto.cpp
+++ b/protocols/Steam/src/steam_proto.cpp
@@ -9,6 +9,7 @@ CSteamProto::CSteamProto(const char* protoName, const TCHAR* userName) :
CreateProtoService(PS_CREATEACCMGRUI, &CSteamProto::OnAccountManagerInit);
InitializeCriticalSection(&this->contact_search_lock);
+ InitializeCriticalSection(&this->set_status_lock);
InitQueue();
@@ -69,6 +70,7 @@ CSteamProto::~CSteamProto()
UninitQueue();
DeleteCriticalSection(&this->contact_search_lock);
+ DeleteCriticalSection(&this->set_status_lock);
}
MCONTACT __cdecl CSteamProto::AddToList(int flags, PROTOSEARCHRESULT* psr)
@@ -350,6 +352,8 @@ int __cdecl CSteamProto::SetApparentMode(MCONTACT hContact, int mode) { return 0
int CSteamProto::SetStatus(int new_status)
{
+ mir_cslock lock(set_status_lock);
+
// Routing statuses not supported by Steam
switch (new_status)
{