diff options
-rw-r--r-- | src/mir_app/src/chat_tools.cpp | 5 |
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"]) {
|