diff options
Diffstat (limited to 'protocols/ICQ-WIM/src/poll.cpp')
-rw-r--r-- | protocols/ICQ-WIM/src/poll.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/protocols/ICQ-WIM/src/poll.cpp b/protocols/ICQ-WIM/src/poll.cpp index d04d7184bb..5ff5cdbb16 100644 --- a/protocols/ICQ-WIM/src/poll.cpp +++ b/protocols/ICQ-WIM/src/poll.cpp @@ -115,7 +115,7 @@ void CIcqProto::ProcessEvent(const JSONNode &ev) else if (szType == L"presence") ProcessPresence(pData); else if (szType == L"sessionEnded") - ShutdownSession(); + ProcessSessionEnd(pData); else if (szType == L"typing") ProcessTyping(pData); } @@ -262,6 +262,15 @@ void CIcqProto::ProcessPresence(const JSONNode &ev) } } +void CIcqProto::ProcessSessionEnd(const JSONNode&) +{ + m_szRToken.Empty(); + m_iRClientId = 0; + delSetting(DB_KEY_RCLIENTID); + + ShutdownSession(); +} + void CIcqProto::ProcessTyping(const JSONNode &ev) { CMStringW aimId = ev["aimId"].as_mstring(); |