summaryrefslogtreecommitdiff
path: root/protocols/ICQ-WIM/src/poll.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/ICQ-WIM/src/poll.cpp')
-rw-r--r--protocols/ICQ-WIM/src/poll.cpp11
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();