summaryrefslogtreecommitdiff
path: root/protocols/JabberG/src/jabber_strm_mgmt.cpp
diff options
context:
space:
mode:
authorGluzskiy Alexandr <sss@sss.chaoslab.ru>2018-04-28 08:15:17 +0300
committerGluzskiy Alexandr <sss@sss.chaoslab.ru>2018-04-28 08:17:18 +0300
commit5e61d6cc38062d88bcf0c7057b6c1c72cd265622 (patch)
treed09dea542e855773bed0f9530319d7ba9af9ea3f /protocols/JabberG/src/jabber_strm_mgmt.cpp
parent77d5da22c96501bb51a348afee5aed48a02d1956 (diff)
protocols: jabber: xep-0198
- keep contacts status for session resume if resume is possible - reset status only if resume failed
Diffstat (limited to 'protocols/JabberG/src/jabber_strm_mgmt.cpp')
-rwxr-xr-xprotocols/JabberG/src/jabber_strm_mgmt.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/protocols/JabberG/src/jabber_strm_mgmt.cpp b/protocols/JabberG/src/jabber_strm_mgmt.cpp
index 1856997270..025dff2395 100755
--- a/protocols/JabberG/src/jabber_strm_mgmt.cpp
+++ b/protocols/JabberG/src/jabber_strm_mgmt.cpp
@@ -167,6 +167,11 @@ void strm_mgmt::OnProcessFailed(HXML node, ThreadData * info) //used failed inst
m_bStrmMgmtEnabled = false;
bSessionResumed = false;
m_sStrmMgmtResumeId.clear();
+
+ //resume failed, reset contacts status
+ for (auto &hContact : proto->AccContacts())
+ proto->SetContactOfflineStatus(hContact);
+
{
HXML subnode = XmlGetChild(node, L"item-not-found");
if (subnode)