summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Hazan <ghazan@miranda.im>2023-03-29 17:47:55 +0300
committerGeorge Hazan <ghazan@miranda.im>2023-03-29 17:47:55 +0300
commit53b30ffaf5c2d584d758c01dbae07bc00d7f814e (patch)
treeb451151089e30dc94ea33c2467878367dbc9b18c
parent2a2f15ef946aab0ca453ee10bd44746ffa7e6294 (diff)
roles should be restored in the reversed order
-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"]) {