summaryrefslogtreecommitdiff
path: root/protocols/Steam/src/steam_account.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/Steam/src/steam_account.cpp')
-rw-r--r--protocols/Steam/src/steam_account.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/protocols/Steam/src/steam_account.cpp b/protocols/Steam/src/steam_account.cpp
index f7d86e7c68..17e47887ab 100644
--- a/protocols/Steam/src/steam_account.cpp
+++ b/protocols/Steam/src/steam_account.cpp
@@ -170,7 +170,7 @@ void CSteamProto::LogInThread(void* param)
LoadContactList();
// start pooling thread
- if (m_hPollingThread == NULL && !m_bTerminated)
+ if (m_hPollingThread == NULL)
{
m_bTerminated = false;
m_hPollingThread = ForkThreadEx(&CSteamProto::PollingThread, NULL, NULL);
@@ -182,6 +182,10 @@ void CSteamProto::LogOutThread(void*)
ptrA token(getStringA("TokenSecret"));
ptrA sessionId(getStringA("SessionID"));
+ while (m_hPollingThread != NULL)
+ Sleep(500);
+
+ m_bTerminated = false;
SteamWebApi::LoginApi::Logoff(m_hNetlibUser, token, sessionId);
delSetting("SessionID");