diff options
author | George Hazan <ghazan@miranda.im> | 2017-02-15 16:40:02 +0300 |
---|---|---|
committer | George Hazan <ghazan@miranda.im> | 2017-02-15 16:40:02 +0300 |
commit | a3c95404f5e1dff8c0ba4634f86522ee4c6ad2cc (patch) | |
tree | 59fe0c2f60754b45384d5fe67e1f03e86c22ae48 | |
parent | abe6893ccd9bb88abf7541b46c9a430f4e058317 (diff) |
fix for highlighting non-mentioned contacts in groupchat
-rw-r--r-- | protocols/Discord/src/utils.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/protocols/Discord/src/utils.cpp b/protocols/Discord/src/utils.cpp index b1390a9ec0..4666ab188f 100644 --- a/protocols/Discord/src/utils.cpp +++ b/protocols/Discord/src/utils.cpp @@ -279,8 +279,12 @@ void CDiscordProto::ParseSpecialChars(SESSION_INFO *si, CMStringW &str) return; CMStringW wszWord = str.Mid(i + 1, iEnd - i - 1); - if (wszWord[0] == '@' && wszWord[1] == '!') { // member highlight - USERINFO *ui = pci->UM_FindUser(si->pUsers, wszWord.c_str()+2); + if (wszWord[0] == '@') { // member highlight + int iStart = 1; + if (wszWord[1] == '!') + iStart++; + + USERINFO *ui = pci->UM_FindUser(si->pUsers, wszWord.c_str() + iStart); if (ui != nullptr) str.Replace(L"<" + wszWord + L">", CMStringW('@') + ui->pszNick); } |