summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mir_app/src/chat_tools.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/mir_app/src/chat_tools.cpp b/src/mir_app/src/chat_tools.cpp
index a263cbc35f..5e5c164597 100644
--- a/src/mir_app/src/chat_tools.cpp
+++ b/src/mir_app/src/chat_tools.cpp
@@ -911,8 +911,9 @@ bool Chat_Unserialize(SESSION_INFO *si)
if (!str.IsEmpty())
si->ptszTopic = str.Detach();
- for (auto &it : root["roles"])
- if (auto *pStatus = TM_AddStatus(&si->pStatuses, it["name"].as_mstring(), &si->iStatusCount))
+ auto &pRoles = root["roles"];
+ for (auto it = pRoles.rbegin(); it != pRoles.rend(); ++it)
+ if (auto *pStatus = TM_AddStatus(&si->pStatuses, (*it)["name"].as_mstring(), &si->iStatusCount))
si->iStatusCount++;
for (auto &it : root["users"]) {