diff options
author | George Hazan <ghazan@miranda.im> | 2020-07-23 14:15:06 +0300 |
---|---|---|
committer | George Hazan <ghazan@miranda.im> | 2020-07-23 14:15:06 +0300 |
commit | bc8768c453fade64f20ff18c24092a41f94993a0 (patch) | |
tree | 908a832615b7dab0ff09c70d1c70e39bf3ff247e /plugins | |
parent | db937fbda0117e8bec530e7deda7b94eea106e78 (diff) |
fixes #2493 (Проблема с Юникодом в диалоге добавления контакта)
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/AddContactPlus/src/addcontact.cpp | 14 | ||||
-rw-r--r-- | plugins/ContactsPlus/src/receive.cpp | 2 | ||||
-rw-r--r-- | plugins/TipperYM/src/subst.cpp | 4 | ||||
-rw-r--r-- | plugins/Variables/src/parse_miranda.cpp | 18 | ||||
-rw-r--r-- | plugins/mRadio/i_service.inc | 2 |
5 files changed, 18 insertions, 22 deletions
diff --git a/plugins/AddContactPlus/src/addcontact.cpp b/plugins/AddContactPlus/src/addcontact.cpp index 4967352196..4ecd537ee6 100644 --- a/plugins/AddContactPlus/src/addcontact.cpp +++ b/plugins/AddContactPlus/src/addcontact.cpp @@ -48,15 +48,11 @@ void AddContactDlgOpts(HWND hdlg, const char* szProto, BOOL bAuthOptsOnly = FALS SetDlgItemText(hdlg, IDC_AUTHREQ, (flags & PF4_NOCUSTOMAUTH) ? L"" : TranslateT("Please authorize my request and add me to your contact list."));
- char* szUniqueId = (char*)CallProtoService(szProto, PS_GETCAPS, PFLAG_UNIQUEIDTEXT, 0);
- if (szUniqueId) {
- size_t cbLen = mir_strlen(szUniqueId) + 2;
- wchar_t* pszUniqueId = (wchar_t*)mir_alloc(cbLen * sizeof(wchar_t));
- mir_snwprintf(pszUniqueId, cbLen, L"%S:", szUniqueId);
- SetDlgItemText(hdlg, IDC_IDLABEL, pszUniqueId);
- mir_free(pszUniqueId);
- }
- else SetDlgItemText(hdlg, IDC_IDLABEL, TranslateT("Contact ID:"));
+ wchar_t *wszUniqueId = (wchar_t *)CallProtoService(szProto, PS_GETCAPS, PFLAG_UNIQUEIDTEXT, 0);
+ if (wszUniqueId)
+ SetDlgItemText(hdlg, IDC_IDLABEL, CMStringW(wszUniqueId) + L":");
+ else
+ SetDlgItemText(hdlg, IDC_IDLABEL, TranslateT("Contact ID:"));
flags = (szProto) ? CallProtoService(szProto, PS_GETCAPS, PFLAGNUM_1, 0) : 0;
if (flags & PF1_NUMERICUSERID) {
diff --git a/plugins/ContactsPlus/src/receive.cpp b/plugins/ContactsPlus/src/receive.cpp index 2a6144c5b3..f4a0b1335d 100644 --- a/plugins/ContactsPlus/src/receive.cpp +++ b/plugins/ContactsPlus/src/receive.cpp @@ -186,7 +186,7 @@ INT_PTR CALLBACK RecvDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lPara HWND hLV = GetDlgItem(hwndDlg, IDC_CONTACTS);
ListView_SetExtendedListViewStyle(hLV, LVS_EX_CHECKBOXES|LVS_EX_FULLROWSELECT);
// add columns
- RecvListView_AddColumn(hLV, 120, _A2T((char*)CallProtoService(szProto, PS_GETCAPS, PFLAG_UNIQUEIDTEXT, 0)), 0);
+ RecvListView_AddColumn(hLV, 120, (wchar_t*)CallProtoService(szProto, PS_GETCAPS, PFLAG_UNIQUEIDTEXT, 0), 0);
RecvListView_AddColumn(hLV, 100, TranslateT("Nick"), 1);
RecvListView_AddColumn(hLV, 100, TranslateT("First Name"), 2);
RecvListView_AddColumn(hLV, 100, TranslateT("Last Name"), 3);
diff --git a/plugins/TipperYM/src/subst.cpp b/plugins/TipperYM/src/subst.cpp index 790d2b9a32..68de205802 100644 --- a/plugins/TipperYM/src/subst.cpp +++ b/plugins/TipperYM/src/subst.cpp @@ -153,9 +153,9 @@ bool Uid(MCONTACT hContact, char *szProto, wchar_t *buff, int bufflen) bool UidName(char *szProto, wchar_t *buff, int bufflen) { if (szProto) { - char *szUidName = (char*)CallProtoService(szProto, PS_GETCAPS, PFLAG_UNIQUEIDTEXT, 0); + wchar_t *szUidName = (wchar_t *)CallProtoService(szProto, PS_GETCAPS, PFLAG_UNIQUEIDTEXT, 0); if (szUidName && (INT_PTR)szUidName != CALLSERVICE_NOTFOUND) { - a2t(szUidName, buff, bufflen); + wcsncpy_s(buff, bufflen, szUidName, _TRUNCATE); return true; } } diff --git a/plugins/Variables/src/parse_miranda.cpp b/plugins/Variables/src/parse_miranda.cpp index 0e733a79ce..660cac158d 100644 --- a/plugins/Variables/src/parse_miranda.cpp +++ b/plugins/Variables/src/parse_miranda.cpp @@ -344,14 +344,14 @@ static wchar_t* parseProtoInfo(ARGUMENTSINFO *ai) return nullptr;
const char *szRes = nullptr;
- wchar_t *tszRes = nullptr;
+ wchar_t *wszRes = nullptr;
ptrA szProto(mir_u2a(ai->argv.w[1]));
if (!mir_wstrcmp(ai->argv.w[2], _A2W(STR_PINAME)))
- tszRes = Hlp_GetProtocolName(szProto);
+ wszRes = Hlp_GetProtocolName(szProto);
else if (!mir_wstrcmp(ai->argv.w[2], _A2W(STR_PIUIDTEXT))) {
- szRes = (const char *)CallProtoService(szProto, PS_GETCAPS, (WPARAM)PFLAG_UNIQUEIDTEXT, 0);
- if (INT_PTR(szRes) == CALLSERVICE_NOTFOUND || szRes == nullptr)
+ wszRes = (wchar_t *)CallProtoService(szProto, PS_GETCAPS, PFLAG_UNIQUEIDTEXT, 0);
+ if (INT_PTR(wszRes) == CALLSERVICE_NOTFOUND || wszRes == nullptr)
return nullptr;
}
else if (!mir_wstrcmp(ai->argv.w[2], _A2W(STR_PIUIDSETTING))) {
@@ -360,15 +360,15 @@ static wchar_t* parseProtoInfo(ARGUMENTSINFO *ai) return nullptr;
}
else if (!mir_wstrcmp(ai->argv.w[2], _A2W(STR_PINICK)))
- tszRes = Contact_GetInfo(CNF_DISPLAY, NULL, szProto);
+ wszRes = Contact_GetInfo(CNF_DISPLAY, NULL, szProto);
- if (szRes == nullptr && tszRes == nullptr)
+ if (szRes == nullptr && wszRes == nullptr)
return nullptr;
- if (szRes != nullptr && tszRes == nullptr)
- tszRes = mir_a2u(szRes);
+ if (szRes != nullptr && wszRes == nullptr)
+ wszRes = mir_a2u(szRes);
- return tszRes;
+ return wszRes;
}
static wchar_t* parseSpecialContact(ARGUMENTSINFO *ai)
diff --git a/plugins/mRadio/i_service.inc b/plugins/mRadio/i_service.inc index 894392716d..c129046170 100644 --- a/plugins/mRadio/i_service.inc +++ b/plugins/mRadio/i_service.inc @@ -12,7 +12,7 @@ begin PFLAGNUM_4:
result:=PF4_NOCUSTOMAUTH or PF4_AVATARS;
PFLAG_UNIQUEIDTEXT:
- result:=int_ptr(Translate('Radio station URL'));
+ result:=int_ptr(TranslateW('Radio station URL'));
else
result:=0;
end
|