diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mir_app/src/chat_manager.cpp | 13 | ||||
-rw-r--r-- | src/mir_app/src/mir_app.def | 1 | ||||
-rw-r--r-- | src/mir_app/src/mir_app64.def | 1 |
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
|