summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugins/TabSRMM/src/msgdlgutils.cpp4
-rw-r--r--src/mir_app/src/contacts.cpp15
2 files changed, 7 insertions, 12 deletions
diff --git a/plugins/TabSRMM/src/msgdlgutils.cpp b/plugins/TabSRMM/src/msgdlgutils.cpp
index a2f515e0e1..58b00cbba1 100644
--- a/plugins/TabSRMM/src/msgdlgutils.cpp
+++ b/plugins/TabSRMM/src/msgdlgutils.cpp
@@ -1568,7 +1568,9 @@ void CTabBaseDlg::GetClientIcon()
void CTabBaseDlg::GetMyNick()
{
- ptrW tszNick(Contact_GetInfo(CNF_NICK, 0, m_cache->getActiveProto()));
+ ptrW tszNick(Contact_GetInfo(CNF_CUSTOMNICK, 0, m_cache->getActiveProto()));
+ if (tszNick == nullptr)
+ tszNick = Contact_GetInfo(CNF_NICK, 0, m_cache->getActiveProto());
if (tszNick != nullptr) {
if (mir_wstrlen(tszNick) == 0 || !mir_wstrcmp(tszNick, TranslateT("'(Unknown contact)'")))
wcsncpy_s(m_wszMyNickname, (m_myUin[0] ? m_myUin : TranslateT("'(Unknown contact)'")), _TRUNCATE);
diff --git a/src/mir_app/src/contacts.cpp b/src/mir_app/src/contacts.cpp
index f57493fee2..053b94490d 100644
--- a/src/mir_app/src/contacts.cpp
+++ b/src/mir_app/src/contacts.cpp
@@ -116,17 +116,10 @@ MIR_APP_DLL(wchar_t*) Contact_GetInfo(int type, MCONTACT hContact, const char *s
case CNF_COSTATE: return ProcessDatabaseValueDefault(hContact, szProto, "CompanyState");
case CNF_COZIP: return ProcessDatabaseValueDefault(hContact, szProto, "CompanyZIP");
case CNF_COHOMEPAGE: return ProcessDatabaseValueDefault(hContact, szProto, "CompanyHomepage");
-
- case CNF_CUSTOMNICK:
- {
- const char* saveProto = szProto; szProto = "CList";
- if (hContact != 0 && !ProcessDatabaseValueDefault(hContact, szProto, "MyHandle")) {
- szProto = saveProto;
- return nullptr;
- }
- szProto = saveProto;
- }
- break;
+ case CNF_CUSTOMNICK:
+ if (hContact)
+ return ProcessDatabaseValueDefault(hContact, "CList", "MyHandle");
+ return ProcessDatabaseValueDefault(0, szProto, "MyHandle");
case CNF_COUNTRY:
case CNF_COCOUNTRY: