summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mir_app/src/chat_manager.cpp13
-rw-r--r--src/mir_app/src/mir_app.def1
-rw-r--r--src/mir_app/src/mir_app64.def1
3 files changed, 9 insertions, 6 deletions
diff --git a/src/mir_app/src/chat_manager.cpp b/src/mir_app/src/chat_manager.cpp
index 8d3a1b8007..62fd919923 100644
--- a/src/mir_app/src/chat_manager.cpp
+++ b/src/mir_app/src/chat_manager.cpp
@@ -644,6 +644,11 @@ static BOOL MM_RemoveAll(void)
// Status manager functions
// Necessary to keep track of what user statuses per window nicklist that is available
+__inline OBJLIST<STATUSINFO>& getStatuses(SESSION_INFO *si)
+{
+ return (si->pParent) ? si->pParent->arStatuses : si->arStatuses;
+}
+
STATUSINFO* TM_AddStatus(SESSION_INFO *si, const wchar_t *pszStatus)
{
if (!si || !pszStatus)
@@ -658,7 +663,7 @@ STATUSINFO* TM_AddStatus(SESSION_INFO *si, const wchar_t *pszStatus)
while (node->iIconIndex > STATUSICONCOUNT - 1)
node->iIconIndex--;
- auto &pList = si->getStatuses();
+ auto &pList = getStatuses(si);
if (pList.getCount() == 0) // list is empty
node->iStatus = 1;
else
@@ -675,7 +680,7 @@ STATUSINFO* TM_FindStatus(SESSION_INFO *si, const wchar_t *pszStatus)
if (!si || !pszStatus)
return nullptr;
- for (auto &it: si->getStatuses())
+ for (auto &it: getStatuses(si))
if (mir_wstrcmpi(it->pszGroup, pszStatus) == 0)
return it;
@@ -687,7 +692,7 @@ uint16_t TM_StringToWord(SESSION_INFO *si, const wchar_t *pszStatus)
if (!si || !pszStatus)
return 0;
- auto &pList = si->getStatuses();
+ auto &pList = getStatuses(si);
for (auto &it : pList)
if (mir_wstrcmpi(it->pszGroup, pszStatus) == 0)
return it->iStatus;
@@ -703,7 +708,7 @@ wchar_t* TM_WordToString(SESSION_INFO *si, uint16_t Status)
if (!si)
return nullptr;
- for (auto &it : si->getStatuses())
+ for (auto &it : getStatuses(si))
if (it->iStatus & Status) {
Status -= it->iStatus;
if (Status == 0)
diff --git a/src/mir_app/src/mir_app.def b/src/mir_app/src/mir_app.def
index c569d5a939..f38c665f8b 100644
--- a/src/mir_app/src/mir_app.def
+++ b/src/mir_app/src/mir_app.def
@@ -997,4 +997,3 @@ Proto_CanDeleteHistory @1118 NONAME
?iHistoryMode@Srmm@@3V?$CMOption@E@@A @1128 NONAME
?getConn@MWebSocket@@QBEPAXXZ @1129 NONAME
?Chat_GetStatus@@YGPAUSTATUSINFO@@PAUSESSION_INFO@@PBUUSERINFO@@@Z @1130 NONAME
-?getStatuses@SESSION_INFO@@QBEAAU?$OBJLIST@USTATUSINFO@@@@XZ @1131 NONAME
diff --git a/src/mir_app/src/mir_app64.def b/src/mir_app/src/mir_app64.def
index e56b145990..54d6d48c19 100644
--- a/src/mir_app/src/mir_app64.def
+++ b/src/mir_app/src/mir_app64.def
@@ -997,4 +997,3 @@ Proto_CanDeleteHistory @1118 NONAME
?iHistoryMode@Srmm@@3V?$CMOption@E@@A @1128 NONAME
?getConn@MWebSocket@@QEBAPEAXXZ @1129 NONAME
?Chat_GetStatus@@YAPEAUSTATUSINFO@@PEAUSESSION_INFO@@PEBUUSERINFO@@@Z @1130 NONAME
-?getStatuses@SESSION_INFO@@QEBAAEAU?$OBJLIST@USTATUSINFO@@@@XZ @1131 NONAME