diff options
author | George Hazan <george.hazan@gmail.com> | 2012-11-19 12:51:53 +0000 |
---|---|---|
committer | George Hazan <george.hazan@gmail.com> | 2012-11-19 12:51:53 +0000 |
commit | 32dedc767dec565c576b78b786e7a95d76ac806e (patch) | |
tree | 0f2eb209b3716569a8e3c3ef146a91f402ebbb4d | |
parent | adf7367cfdb57b32aadeb74af45dce9a6a3c02a5 (diff) |
- added another helper, ExtraIcon_Clear, to remove an icon from slot;
- added ability to pass IcoLib handles instead of icons' names
git-svn-id: http://svn.miranda-ng.org/main/trunk@2371 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
62 files changed, 369 insertions, 300 deletions
diff --git a/include/m_extraicons.h b/include/m_extraicons.h index 921346ad3c..2d38fe7db4 100644 --- a/include/m_extraicons.h +++ b/include/m_extraicons.h @@ -117,11 +117,12 @@ typedef struct { typedef struct {
int cbSize;
- HANDLE hExtraIcon; // Value returned by MS_EXTRAICON_REGISTER
- HANDLE hContact; // Contact to set the extra icon
- union { // The icon to be set. This depends on the type of the extra icon:
- HANDLE hImage; // Value returned by MS_CLIST_EXTRA_ADD_ICON (if EXTRAICON_TYPE_CALLBACK)
- const char *icoName; // Name of the icon registered with icolib (if EXTRAICON_TYPE_ICOLIB)
+ HANDLE hExtraIcon; // Value returned by MS_EXTRAICON_REGISTER
+ HANDLE hContact; // Contact to set the extra icon
+ union { // The icon to be set. This depends on the type of the extra icon:
+ HANDLE hImage; // Value returned by MS_CLIST_EXTRA_ADD_ICON (if EXTRAICON_TYPE_CALLBACK)
+ // or the icolib icon handle (if EXTRAICON_TYPE_ICOLIB)
+ const char *icoName; // Name of the icon registered with icolib (if EXTRAICON_TYPE_ICOLIB)
};
} EXTRAICON;
@@ -130,15 +131,19 @@ typedef struct { // Return: 0 on success
#define MS_EXTRAICON_SET_ICON "ExtraIcon/SetIcon"
-
+// Set an extra icon by icolib icon's name
+// wParam = (EXTRAICON *) Extra icon
+// Return: 0 on success
+#define MS_EXTRAICON_SET_ICON_BY_NAME "ExtraIcon/SetIconByName"
#ifndef _NO_WRAPPERS
#ifdef __cplusplus
-static HANDLE ExtraIcon_Register(const char *name, const char *description, const char *descIcon,
- MIRANDAHOOK RebuildIcons,
- MIRANDAHOOK ApplyIcon,
- MIRANDAHOOKPARAM OnClick = NULL, LPARAM onClickParam = 0)
+static HANDLE ExtraIcon_Register(
+ const char *name, const char *description, const char *descIcon,
+ MIRANDAHOOK RebuildIcons,
+ MIRANDAHOOK ApplyIcon,
+ MIRANDAHOOKPARAM OnClick = NULL, LPARAM onClickParam = 0)
{
if (!ServiceExists(MS_EXTRAICON_REGISTER))
return NULL;
@@ -156,8 +161,9 @@ static HANDLE ExtraIcon_Register(const char *name, const char *description, cons return (HANDLE) CallService(MS_EXTRAICON_REGISTER, (WPARAM) &ei, 0);
}
-static HANDLE ExtraIcon_Register(const char *name, const char *description, const char *descIcon = NULL,
- MIRANDAHOOKPARAM OnClick = NULL, LPARAM onClickParam = 0)
+static HANDLE ExtraIcon_Register(
+ const char *name, const char *description, const char *descIcon = NULL,
+ MIRANDAHOOKPARAM OnClick = NULL, LPARAM onClickParam = 0)
{
if (!ServiceExists(MS_EXTRAICON_REGISTER))
return NULL;
@@ -190,6 +196,16 @@ static int ExtraIcon_SetIcon(HANDLE hExtraIcon, HANDLE hContact, const char *ico ei.hContact = hContact;
ei.icoName = icoName;
+ return CallService(MS_EXTRAICON_SET_ICON_BY_NAME, (WPARAM) &ei, 0);
+}
+
+static int ExtraIcon_Clear(HANDLE hExtraIcon, HANDLE hContact)
+{
+ EXTRAICON ei = { sizeof(ei) };
+ ei.hExtraIcon = hExtraIcon;
+ ei.hContact = hContact;
+ ei.icoName = NULL;
+
return CallService(MS_EXTRAICON_SET_ICON, (WPARAM) &ei, 0);
}
diff --git a/include/m_icq.h b/include/m_icq.h index e2378e3e7e..125eeef885 100644 --- a/include/m_icq.h +++ b/include/m_icq.h @@ -263,7 +263,7 @@ typedef struct { // Called from contact list in order to get index of custom status icon in list
// wParam = hContact
// lParam = 0
-// rerurn = (int) index of extra contact icon shifted <<16 (the low word will be normal status icon, the high will be xStatus Icon
+// rerurn = (int)index of extra contact icon shifted <<16 (the low word will be normal status icon, the high will be xStatus Icon
#define PS_ICQ_GETADVANCEDSTATUSICON "/GetAdvancedStatusIcon"
#endif // M_ICQ_H__
diff --git a/include/m_netlib.h b/include/m_netlib.h index 83b469e9c0..62b7512b69 100644 --- a/include/m_netlib.h +++ b/include/m_netlib.h @@ -435,7 +435,7 @@ typedef struct { // Converts numerical representation of IP in SOCKADDR_INET into string representation with IP and port
// IPv4 will be supplied in formats address:port or address
// IPv6 will be supplied in formats [address]:port or [address]
-// wParam = (WPARAM)(int) 0 - lParam - (sockaddr_gen*); 1 - lParam - (unsigned) in host byte order
+// wParam = (WPARAM)(int)0 - lParam - (sockaddr_gen*); 1 - lParam - (unsigned) in host byte order
// lParam = (LPARAM)(sockaddr_gen*) or (unsigned) numeric IP address structure
// Returns pointer to the string or NULL if not successful
#define MS_NETLIB_ADDRESSTOSTRING "Netlib/AddressToString"
diff --git a/plugins/BuddyExpectator/src/BuddyExpectator.cpp b/plugins/BuddyExpectator/src/BuddyExpectator.cpp index 03b793ad09..b0798c59a4 100644 --- a/plugins/BuddyExpectator/src/BuddyExpectator.cpp +++ b/plugins/BuddyExpectator/src/BuddyExpectator.cpp @@ -153,7 +153,7 @@ LRESULT CALLBACK MissYouPopupDlgProc(HWND hWnd, UINT message, WPARAM wParam, LPA if ( !db_get_b(PUGetContact(hWnd), MODULE_NAME, "MissYouNotifyAlways", 0)) {
db_set_b(PUGetContact(hWnd), MODULE_NAME, "MissYou", 0);
if (options.MissYouIcon)
- ExtraIcon_SetIcon(hExtraIcon, PUGetContact(hWnd), "");
+ ExtraIcon_Clear(hExtraIcon, PUGetContact(hWnd));
}
PUDeletePopUp(hWnd);
}
@@ -167,7 +167,7 @@ LRESULT CALLBACK MissYouPopupDlgProc(HWND hWnd, UINT message, WPARAM wParam, LPA if (wParam == 1) {
db_set_b(PUGetContact(hWnd), MODULE_NAME, "MissYou", 0);
if (options.MissYouIcon)
- ExtraIcon_SetIcon(hExtraIcon, PUGetContact(hWnd), "");
+ ExtraIcon_Clear(hExtraIcon, PUGetContact(hWnd));
PUDeletePopUp(hWnd);
}
break;
@@ -449,7 +449,7 @@ INT_PTR MenuMissYouClick(WPARAM wParam, LPARAM lParam) if (db_get_b((HANDLE)wParam, MODULE_NAME, "MissYou", 0)) {
db_set_b((HANDLE)wParam, MODULE_NAME, "MissYou", 0);
if (options.MissYouIcon)
- ExtraIcon_SetIcon(hExtraIcon, (HANDLE)wParam, "");
+ ExtraIcon_Clear(hExtraIcon, (HANDLE)wParam);
}
else {
db_set_b((HANDLE)wParam, MODULE_NAME, "MissYou", 1);
diff --git a/plugins/CountryFlags/src/extraimg.cpp b/plugins/CountryFlags/src/extraimg.cpp index dcb8f33773..433cbfb664 100644 --- a/plugins/CountryFlags/src/extraimg.cpp +++ b/plugins/CountryFlags/src/extraimg.cpp @@ -66,7 +66,7 @@ static void RemoveExtraImages(void) {
HANDLE hContact = db_find_first();
while (hContact != NULL) {
- ExtraIcon_SetIcon(hExtraIcon, hContact, (HANDLE)0);
+ ExtraIcon_Clear(hExtraIcon, hContact);
hContact = db_find_next(hContact);
}
}
diff --git a/plugins/IgnoreState/src/main.cpp b/plugins/IgnoreState/src/main.cpp index 886219e20f..5826b55bcc 100644 --- a/plugins/IgnoreState/src/main.cpp +++ b/plugins/IgnoreState/src/main.cpp @@ -101,7 +101,7 @@ void applyExtraImage(HANDLE hContact) if (ignore == 1)
ExtraIcon_SetIcon(hExtraIcon, hContact, "ignore_full");
else if (ignore == 0)
- ExtraIcon_SetIcon(hExtraIcon, hContact, "");
+ ExtraIcon_Clear(hExtraIcon, hContact);
else if (isIgnored(hContact, IGNOREEVENT_MESSAGE))
ExtraIcon_SetIcon(hExtraIcon, hContact, "ignore_mess");
else
diff --git a/plugins/UserInfoEx/src/Flags/svc_flags.cpp b/plugins/UserInfoEx/src/Flags/svc_flags.cpp index c864e0bca8..e3b59f47f8 100644 --- a/plugins/UserInfoEx/src/Flags/svc_flags.cpp +++ b/plugins/UserInfoEx/src/Flags/svc_flags.cpp @@ -234,30 +234,20 @@ static INT_PTR ServiceDetectContactOriginCountry(WPARAM wParam,LPARAM lParam) static void CALLBACK SetExtraImage(LPARAM lParam)
{
/* get contact's country */
- int countryNumber = ServiceDetectContactOriginCountry((WPARAM)lParam,0);;
-
- EXTRAICON ico = { sizeof(ico) };
- ico.hContact = (HANDLE)lParam;
- ico.hExtraIcon = hExtraIconSvc;
- ico.icoName = (char*)0; //preset
+ int countryNumber = ServiceDetectContactOriginCountry((WPARAM)lParam,0);
if (countryNumber != 0xFFFF || gFlagsOpts.bUseUnknownFlag) {
char szId[20];
- mir_snprintf(szId, SIZEOF(szId), (countryNumber==0xFFFF)?"%s_0x%X":"%s_%i","flags",countryNumber); /* buffer safe */
- ico.icoName = szId;
+ mir_snprintf(szId, SIZEOF(szId), (countryNumber == 0xFFFF) ? "%s_0x%X" : "%s_%i","flags", countryNumber); /* buffer safe */
+ ExtraIcon_SetIcon(hExtraIconSvc, (HANDLE)lParam, szId);
}
- CallService(MS_EXTRAICON_SET_ICON, (WPARAM)&ico, 0);
+ else ExtraIcon_Clear(hExtraIconSvc, (HANDLE)lParam);
}
static void CALLBACK RemoveExtraImages(LPARAM lParam)
{
- EXTRAICON ico = { sizeof(ico) };
- ico.hExtraIcon = hExtraIconSvc;
- ico.icoName = 0; /* invalidate icon for contact*/
/* enum all contacts */
- for (HANDLE hContact = DB::Contact::FindFirst(); hContact != NULL; hContact = DB::Contact::FindNext(hContact)) {
- ico.hContact = hContact;
- CallService(MS_EXTRAICON_SET_ICON, (WPARAM)&ico, 0);
- }
+ for (HANDLE hContact = DB::Contact::FindFirst(); hContact != NULL; hContact = DB::Contact::FindNext(hContact))
+ ExtraIcon_Clear(hExtraIconSvc, hContact);
}
// always call in context of main thread
diff --git a/plugins/UserInfoEx/src/svc_email.cpp b/plugins/UserInfoEx/src/svc_email.cpp index 5b886b72a3..f0915e64fe 100644 --- a/plugins/UserInfoEx/src/svc_email.cpp +++ b/plugins/UserInfoEx/src/svc_email.cpp @@ -146,13 +146,8 @@ static INT_PTR MenuCommand(WPARAM wParam,LPARAM lParam) static INT OnCListApplyIcons(WPARAM wParam, LPARAM lParam)
{
LPSTR val = Get((HANDLE)wParam);
-
- EXTRAICON ico = { sizeof(ico) };
- ico.hContact=(HANDLE)wParam;
- ico.hExtraIcon=ghExtraIconSvc;
- ico.icoName=val?ICO_BTN_EMAIL:(char *)0;
+ ExtraIcon_SetIcon(ghExtraIconSvc, (HANDLE)wParam, (val) ? ICO_BTN_EMAIL: 0);
mir_free(val);
- CallService(MS_EXTRAICON_SET_ICON, (WPARAM)&ico, 0);
return 0;
}
diff --git a/plugins/UserInfoEx/src/svc_gender.cpp b/plugins/UserInfoEx/src/svc_gender.cpp index 68d6f5b8ec..f849569644 100644 --- a/plugins/UserInfoEx/src/svc_gender.cpp +++ b/plugins/UserInfoEx/src/svc_gender.cpp @@ -81,20 +81,13 @@ BYTE GenderOf(HANDLE hContact) static INT OnCListApplyIcons(HANDLE hContact, LPARAM)
{
if (ghExtraIconSvc != INVALID_HANDLE_VALUE) {
- EXTRAICON ico = { sizeof(ico) };
- ico.hContact = hContact;
- ico.hExtraIcon = ghExtraIconSvc;
+ char *icoName;
switch (GenderOf(hContact)) {
- case 'M':
- ico.icoName = ICO_COMMON_MALE;
- break;
- case 'F':
- ico.icoName = ICO_COMMON_FEMALE;
- break;
- default:
- ico.icoName = NULL;
+ case 'M': icoName = ICO_COMMON_MALE; break;
+ case 'F': icoName = ICO_COMMON_FEMALE; break;
+ default: icoName = NULL;
}
- CallService(MS_EXTRAICON_SET_ICON, (WPARAM)&ico, 0);
+ ExtraIcon_SetIcon(ghExtraIconSvc, hContact, icoName);
}
return 0;
}
diff --git a/plugins/UserInfoEx/src/svc_homepage.cpp b/plugins/UserInfoEx/src/svc_homepage.cpp index 8c3cf5ff3d..e5d31746f2 100644 --- a/plugins/UserInfoEx/src/svc_homepage.cpp +++ b/plugins/UserInfoEx/src/svc_homepage.cpp @@ -109,13 +109,8 @@ static INT_PTR MenuCommand(WPARAM wParam, LPARAM lParam) static INT OnCListApplyIcons(HANDLE hContact, LPARAM)
{
LPSTR val = Get(hContact);
- if (ghExtraIconSvc != INVALID_HANDLE_VALUE) {
- EXTRAICON ico = { sizeof(ico) };
- ico.hContact = hContact;
- ico.hExtraIcon = ghExtraIconSvc;
- ico.icoName = (val) ? ICO_BTN_GOTO : NULL;
- CallService(MS_EXTRAICON_SET_ICON, (WPARAM)&ico, 0);
- }
+ if (ghExtraIconSvc != INVALID_HANDLE_VALUE)
+ ExtraIcon_SetIcon(ghExtraIconSvc, hContact, (val) ? ICO_BTN_GOTO : NULL);
MIR_FREE(val);
return 0;
}
diff --git a/plugins/UserInfoEx/src/svc_phone.cpp b/plugins/UserInfoEx/src/svc_phone.cpp index 941003716b..9490a563e9 100644 --- a/plugins/UserInfoEx/src/svc_phone.cpp +++ b/plugins/UserInfoEx/src/svc_phone.cpp @@ -102,20 +102,13 @@ static INT_PTR Get(HANDLE hContact) static INT OnCListApplyIcons(HANDLE hContact, LPARAM)
{
- EXTRAICON ico = { sizeof(ico) };
- ico.hContact = hContact;
- ico.hExtraIcon = ghExtraIconSvc;
+ char *icoName;
switch (Get(hContact)) {
- case PHONE_NORMAL:
- ico.icoName = ICO_BTN_PHONE;
- break;
- case PHONE_SMS:
- ico.icoName = ICO_BTN_CELLULAR;
- break;
- default:
- ico.icoName = NULL;
+ case PHONE_NORMAL: icoName = ICO_BTN_PHONE; break;
+ case PHONE_SMS: icoName = ICO_BTN_CELLULAR; break;
+ default: icoName = NULL;
}
- CallService(MS_EXTRAICON_SET_ICON, (WPARAM)&ico, 0);
+ ExtraIcon_SetIcon(ghExtraIconSvc, hContact, icoName);
return 0;
}
diff --git a/plugins/UserInfoEx/src/svc_reminder.cpp b/plugins/UserInfoEx/src/svc_reminder.cpp index 91f19eb804..660d2de23e 100644 --- a/plugins/UserInfoEx/src/svc_reminder.cpp +++ b/plugins/UserInfoEx/src/svc_reminder.cpp @@ -187,31 +187,31 @@ static HICON GetAnnivIcon(const CEvent &evt) static VOID NotifyWithExtraIcon(HANDLE hContact, const CEvent &evt)
{
if (gRemindOpts.bCListExtraIcon) {
- CHAR szIcon[MAXSETTING];
-
- EXTRAICON ico = { sizeof(ico) };
- ico.hContact = hContact;
- ico.hExtraIcon = ExtraIcon;
+ char szIcon[MAXSETTING], *icoName;
+
switch (evt._eType) {
case CEvent::BIRTHDAY:
if (evt._wDaysLeft > 9)
- ico.icoName = ICO_RMD_DTAX;
+ icoName = ICO_RMD_DTAX;
else {
mir_snprintf(szIcon, SIZEOF(szIcon), MODNAME"_rmd_dtb%u", evt._wDaysLeft);
- ico.icoName = szIcon;
+ icoName = szIcon;
}
break;
case CEvent::ANNIVERSARY:
if (evt._wDaysLeft > 9)
- ico.icoName = ICO_RMD_DTAX;
+ icoName = ICO_RMD_DTAX;
else {
mir_snprintf(szIcon, SIZEOF(szIcon), MODNAME"_rmd_dta%u", evt._wDaysLeft);
- ico.icoName = szIcon;
+ icoName = szIcon;
}
break;
+
+ default:
+ return;
}
- CallService(MS_EXTRAICON_SET_ICON, (WPARAM)&ico, 0);
+ ExtraIcon_SetIcon(ExtraIcon, hContact, icoName);
}
}
diff --git a/plugins/WhenWasIt/src/notifiers.cpp b/plugins/WhenWasIt/src/notifiers.cpp index 2cc37e28a8..ec7950655b 100644 --- a/plugins/WhenWasIt/src/notifiers.cpp +++ b/plugins/WhenWasIt/src/notifiers.cpp @@ -231,7 +231,7 @@ int SoundNotifyBirthday(int dtb) int ClearClistIcon(HANDLE hContact)
{
- return ExtraIcon_SetIcon(hWWIExtraIcons, hContact, INVALID_HANDLE_VALUE);
+ return ExtraIcon_Clear(hWWIExtraIcons, hContact);
}
int RefreshContactListIcons(HANDLE hContact)
diff --git a/protocols/AimOscar/src/theme.cpp b/protocols/AimOscar/src/theme.cpp index 9ba7307d0d..b0b3fd4ec5 100644 --- a/protocols/AimOscar/src/theme.cpp +++ b/protocols/AimOscar/src/theme.cpp @@ -161,12 +161,12 @@ static HANDLE extra_ES_icon_handle[2]; static void clear_AT_icon(HANDLE hContact)
{
- ExtraIcon_SetIcon(hExtraAT, hContact, (char*)NULL);
+ ExtraIcon_Clear(hExtraAT, hContact);
}
static void clear_ES_icon(HANDLE hContact)
{
- ExtraIcon_SetIcon(hExtraES, hContact, (char*)NULL);
+ ExtraIcon_Clear(hExtraES, hContact);
}
static void set_AT_icon(CAimProto* ppro, HANDLE hContact)
@@ -180,7 +180,7 @@ static void set_AT_icon(CAimProto* ppro, HANDLE hContact) mir_snprintf(name, sizeof(name), "AIM_%s", extra_AT_icon_name[i]);
ExtraIcon_SetIcon(hExtraAT, hContact, name);
}
- else ExtraIcon_SetIcon(hExtraAT, hContact, (char*)NULL);
+ else ExtraIcon_Clear(hExtraAT, hContact);
}
static void set_ES_icon(CAimProto* ppro, HANDLE hContact)
@@ -194,7 +194,7 @@ static void set_ES_icon(CAimProto* ppro, HANDLE hContact) mir_snprintf(name, sizeof(name), "AIM_%s", extra_ES_icon_name[i]);
ExtraIcon_SetIcon(hExtraES, hContact, name);
}
- else ExtraIcon_SetIcon(hExtraES, hContact, (char*)NULL);
+ else ExtraIcon_Clear(hExtraES, hContact);
}
void set_contact_icon(CAimProto* ppro, HANDLE hContact)
diff --git a/protocols/IcqOscarJ/src/icq_xstatus.cpp b/protocols/IcqOscarJ/src/icq_xstatus.cpp index 8c195aaa7f..ab612f30b3 100644 --- a/protocols/IcqOscarJ/src/icq_xstatus.cpp +++ b/protocols/IcqOscarJ/src/icq_xstatus.cpp @@ -183,7 +183,7 @@ void releaseXStatusIcon(int bStatus, UINT flags) void setContactExtraIcon(HANDLE hContact, int xstatus)
{
if (xstatus <= 0)
- ExtraIcon_SetIcon(hExtraXStatus, hContact, (char *) NULL);
+ ExtraIcon_Clear(hExtraXStatus, hContact);
else {
char szTemp[MAX_PATH];
null_snprintf(szTemp, sizeof(szTemp), "icq_xstatus%d", xstatus-1);
diff --git a/protocols/MRA/src/Mra.h b/protocols/MRA/src/Mra.h index 2d6ee820a3..38d02d62c1 100644 --- a/protocols/MRA/src/Mra.h +++ b/protocols/MRA/src/Mra.h @@ -247,7 +247,6 @@ BOOL IsEMailMR (LPSTR lpszEMail, size_t dwEMailSize); BOOL GetEMailFromString (LPSTR lpszBuff, size_t dwBuffSize, LPSTR *plpszEMail, size_t *pdwEMailSize);
DWORD CreateBlobFromContact (HANDLE hContact, LPWSTR lpwszRequestReason, size_t dwRequestReasonSize, LPBYTE lpbBuff, size_t dwBuffSize, size_t *pdwBuffSizeRet);
-int ExtraSetIcon (HANDLE hExtraIcon, HANDLE hContact, HANDLE hImage);
size_t CopyNumber (LPCVOID lpcOutBuff, LPCVOID lpcBuff, size_t dwLen);
BOOL IsPhone (LPSTR lpszString, size_t dwStringSize);
BOOL IsContactPhone (HANDLE hContact, LPSTR lpszPhone, size_t dwPhoneSize);
diff --git a/protocols/MRA/src/Mra_svcs.cpp b/protocols/MRA/src/Mra_svcs.cpp index bc84af7703..d61098201a 100644 --- a/protocols/MRA/src/Mra_svcs.cpp +++ b/protocols/MRA/src/Mra_svcs.cpp @@ -157,19 +157,9 @@ void CMraProto::SetExtraIcons(HANDLE hContact) if (dwBlogStatusMsgSize) dwIconID = ADV_ICON_BLOGSTATUS;
}
- if ( IsXStatusValid(dwXStatus) || dwXStatus == MRA_MIR_XSTATUS_UNKNOWN) {
- char szSetting[40];
- mir_snprintf(szSetting, SIZEOF(szSetting), "mra_xstatus%d", dwXStatus);
- ExtraSetIcon(hExtraXstatusIcon, hContact, szSetting);
- }
- else ExtraSetIcon(hExtraXstatusIcon, hContact, NULL);
-
- if (dwIconID != -1) {
- char szSetting[40];
- mir_snprintf(szSetting, SIZEOF(szSetting), "MRA_%s", gdiExtraStatusIconsItems[dwIconID].lpszName);
- ExtraSetIcon(hExtraInfo, hContact, szSetting);
- }
- else ExtraSetIcon(hExtraInfo, hContact, NULL);
+ ExtraIcon_SetIcon(hExtraXstatusIcon, hContact,
+ (IsXStatusValid(dwXStatus) || dwXStatus == MRA_MIR_XSTATUS_UNKNOWN) ? hXStatusAdvancedStatusIcons[dwXStatus] : NULL);
+ ExtraIcon_SetIcon(hExtraInfo, hContact, (dwIconID != -1) ? gdiExtraStatusIconsItems[dwIconID].hIconHandle : NULL);
}
INT_PTR CMraProto::MraXStatusMenu(WPARAM wParam, LPARAM lParam, LPARAM param)
diff --git a/src/core/miranda.h b/src/core/miranda.h index b0369e0f08..614c4aee98 100644 --- a/src/core/miranda.h +++ b/src/core/miranda.h @@ -255,7 +255,7 @@ public: extern "C"
{
- MIR_CORE_DLL(int) Langpack_MarkPluginLoaded(PLUGININFOEX* pInfo);
- MIR_CORE_DLL(int) GetSubscribersCount(HANDLE hHook);
+ MIR_CORE_DLL(int)Langpack_MarkPluginLoaded(PLUGININFOEX* pInfo);
+ MIR_CORE_DLL(int)GetSubscribersCount(HANDLE hHook);
MIR_CORE_DLL(void) db_setCurrent(MIDatabase* _db);
};
diff --git a/src/core/stdplug.h b/src/core/stdplug.h index 269eeeba3d..00cecdbbfa 100644 --- a/src/core/stdplug.h +++ b/src/core/stdplug.h @@ -13,7 +13,7 @@ MIRANDA_EXE_FUNC(HANDLE) IcoLib_AddNewIcon(int hLangpack, SKINICONDESC* sid); MIRANDA_EXE_FUNC(HICON) IcoLib_GetIcon(const char* pszIconName, bool big);
MIRANDA_EXE_FUNC(HICON) IcoLib_GetIconByHandle(HANDLE hItem, bool big);
MIRANDA_EXE_FUNC(HANDLE) IcoLib_IsManaged(HICON hIcon);
-MIRANDA_EXE_FUNC(int) IcoLib_ReleaseIcon(HICON hIcon, char* szIconName, bool big=false);
+MIRANDA_EXE_FUNC(int) IcoLib_ReleaseIcon(HICON hIcon, char* szIconName, bool big=false);
MIRANDA_EXE_FUNC(void) Button_SetIcon_IcoLib(HWND hDlg, int itemId, int iconId, const char* tooltip);
MIRANDA_EXE_FUNC(void) Button_FreeIcon_IcoLib(HWND hDlg, int itemId);
diff --git a/src/modules/addcontact/addcontact.cpp b/src/modules/addcontact/addcontact.cpp index 1736e35917..60ef8cca0d 100644 --- a/src/modules/addcontact/addcontact.cpp +++ b/src/modules/addcontact/addcontact.cpp @@ -98,7 +98,7 @@ INT_PTR CALLBACK AddContactDlgProc(HWND hdlg, UINT msg, WPARAM wparam, LPARAM lp if (DBGetContactSettingTString(NULL, "CListGroups", idstr, &dbv)) break;
id = SendDlgItemMessage(hdlg, IDC_GROUP, CB_ADDSTRING, 0, (LPARAM)(dbv.ptszVal+1));
SendDlgItemMessage(hdlg, IDC_GROUP, CB_SETITEMDATA , id, groupId+1);
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
}
diff --git a/src/modules/clist/Docking.cpp b/src/modules/clist/Docking.cpp index 3308176347..d2695ef6b6 100644 --- a/src/modules/clist/Docking.cpp +++ b/src/modules/clist/Docking.cpp @@ -170,8 +170,8 @@ int fnDocking_ProcessWindowMessage(WPARAM wParam, LPARAM lParam) draggingTitle = 0;
docked = db_get_b(NULL, "CLUI", "DockToSides", 1) ?
(char) db_get_b(NULL, "CList", "Docked", 0) : 0;
- dockPos.x = (int) db_get_dw(NULL, "CList", "DockX", 0);
- dockPos.y = (int) db_get_dw(NULL, "CList", "DockY", 0);
+ dockPos.x = (int)db_get_dw(NULL, "CList", "DockX", 0);
+ dockPos.y = (int)db_get_dw(NULL, "CList", "DockY", 0);
break;
case WM_ACTIVATE:
diff --git a/src/modules/clist/clcutils.cpp b/src/modules/clist/clcutils.cpp index 8b237e7d8f..e3ae2be605 100644 --- a/src/modules/clist/clcutils.cpp +++ b/src/modules/clist/clcutils.cpp @@ -225,7 +225,7 @@ void fnScrollTo(HWND hwnd, struct ClcData *dat, int desty, int noSmooth) nowTick = GetTickCount();
if (nowTick >= startTick + dat->scrollTime)
break;
- dat->yScroll = oldy + (desty - oldy) * (int) (nowTick - startTick) / dat->scrollTime;
+ dat->yScroll = oldy + (desty - oldy) * (int)(nowTick - startTick) / dat->scrollTime;
if (dat->backgroundBmpUse & CLBF_SCROLL || dat->hBmpBackground == NULL)
ScrollWindowEx(hwnd, 0, previousy - dat->yScroll, NULL, NULL, NULL, NULL, SW_INVALIDATE);
else
diff --git a/src/modules/clist/clistevents.cpp b/src/modules/clist/clistevents.cpp index 5f85903d1d..71a520b2ff 100644 --- a/src/modules/clist/clistevents.cpp +++ b/src/modules/clist/clistevents.cpp @@ -386,9 +386,9 @@ static int CListEventSettingsChanged(WPARAM wParam, LPARAM lParam) DBCONTACTWRITESETTING *cws = (DBCONTACTWRITESETTING *) lParam;
if (hContact == NULL && cws && cws->szModule && cws->szSetting && strcmp(cws->szModule, "CList") == 0) {
if (strcmp(cws->szSetting, "DisableTrayFlash") == 0)
- disableTrayFlash = (int) cws->value.bVal;
+ disableTrayFlash = (int)cws->value.bVal;
else if (strcmp(cws->szSetting, "NoIconBlink") == 0)
- disableIconFlash = (int) cws->value.bVal;
+ disableIconFlash = (int)cws->value.bVal;
}
return 0;
}
diff --git a/src/modules/clist/clistmenus.cpp b/src/modules/clist/clistmenus.cpp index 567fa0c1f2..4b54616adf 100644 --- a/src/modules/clist/clistmenus.cpp +++ b/src/modules/clist/clistmenus.cpp @@ -810,12 +810,12 @@ int fnGetProtoIndexByPos(PROTOCOLDESCRIPTOR ** proto, int protoCnt, int Pos) if ( !DBGetContactSetting(NULL, "Protocols", buf, &dbv)) {
for (p=0; p < protoCnt; p++) {
if (lstrcmpA(proto[p]->szName, dbv.pszVal) == 0) {
- DBFreeVariant(&dbv);
+ db_free(&dbv);
return p;
}
}
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
return -1;
diff --git a/src/modules/clist/clistmod.cpp b/src/modules/clist/clistmod.cpp index cb14eb0c42..fdbc75fe82 100644 --- a/src/modules/clist/clistmod.cpp +++ b/src/modules/clist/clistmod.cpp @@ -143,7 +143,7 @@ static int ProtocolAck(WPARAM, LPARAM lParam) CallService(MS_CLUI_PROTOCOLSTATUSCHANGED, ack->lParam, (LPARAM) ack->szModule);
- if ((int) ack->hProcess < ID_STATUS_ONLINE && ack->lParam >= ID_STATUS_ONLINE) {
+ if ((int)ack->hProcess < ID_STATUS_ONLINE && ack->lParam >= ID_STATUS_ONLINE) {
DWORD caps = (DWORD)CallProtoServiceInt(NULL,ack->szModule, PS_GETCAPS, PFLAGNUM_1, 0);
if (caps & PF1_SERVERCLIST) {
HANDLE hContact = db_find_first();
diff --git a/src/modules/clist/clisttray.cpp b/src/modules/clist/clisttray.cpp index ae9e9e7da0..351ca78a7b 100644 --- a/src/modules/clist/clisttray.cpp +++ b/src/modules/clist/clisttray.cpp @@ -65,7 +65,7 @@ static TCHAR* sttGetXStatus(const char* szProto) if ( !DBGetContactSettingTString(NULL, szProto, dbTitle, &dbv)) {
if (dbv.ptszVal[0] != 0)
result = mir_tstrdup(dbv.ptszVal);
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
}
}
@@ -285,7 +285,7 @@ int fnTrayIconInit(HWND hwnd) szProto = NULL;
cli.pfnTrayIconAdd(hwnd, NULL, szProto, szProto ? CallProtoServiceInt(NULL,szProto, PS_GETSTATUS, 0, 0) : CallService(MS_CLIST_GETSTATUSMODE, 0, 0));
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
else if (trayIconSetting == SETTING_TRAYICON_MULTI && (averageMode < 0 || db_get_b(NULL, "CList", "AlwaysMulti", SETTING_ALWAYSMULTI_DEFAULT)))
{
@@ -552,7 +552,7 @@ void fnTrayIconUpdateBase(const char *szChangedProto) changed = cli.pfnTrayIconSetBaseInfo(cli.pfnGetIconFromStatusMode(NULL, szProto, szProto ?
CallProtoServiceInt(NULL,szProto, PS_GETSTATUS, 0, 0) :
CallService(MS_CLIST_GETSTATUSMODE, 0, 0)), szProto);
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
break;
diff --git a/src/modules/clist/clui.cpp b/src/modules/clist/clui.cpp index 15f6ab4e8e..58f3978b84 100644 --- a/src/modules/clist/clui.cpp +++ b/src/modules/clist/clui.cpp @@ -311,14 +311,14 @@ int LoadCLUIModule(void) lstrcpyn(titleText, _T(MIRANDANAME), SIZEOF(titleText));
else {
lstrcpyn(titleText, dbv.ptszVal, SIZEOF(titleText));
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
RECT pos;
- pos.left = (int) db_get_dw(NULL, "CList", "x", 700);
- pos.top = (int) db_get_dw(NULL, "CList", "y", 221);
- pos.right = pos.left + (int) db_get_dw(NULL, "CList", "Width", 108);
- pos.bottom = pos.top + (int) db_get_dw(NULL, "CList", "Height", 310);
+ pos.left = (int)db_get_dw(NULL, "CList", "x", 700);
+ pos.top = (int)db_get_dw(NULL, "CList", "y", 221);
+ pos.right = pos.left + (int)db_get_dw(NULL, "CList", "Width", 108);
+ pos.bottom = pos.top + (int)db_get_dw(NULL, "CList", "Height", 310);
Utils_AssertInsideScreen(&pos);
@@ -639,7 +639,7 @@ LRESULT CALLBACK fnContactListWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM }
case WM_TIMER:
- if ((int) wParam == TM_AUTOALPHA) {
+ if ((int)wParam == TM_AUTOALPHA) {
int inwnd;
if (GetForegroundWindow() == hwnd) {
@@ -693,7 +693,7 @@ LRESULT CALLBACK fnContactListWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM if (thisTick >= startTick + 200)
break;
setLayeredWindowAttributes(hwnd, RGB(0, 0, 0),
- (BYTE) (sourceAlpha + (destAlpha - sourceAlpha) * (int) (thisTick - startTick) / 200), LWA_ALPHA);
+ (BYTE) (sourceAlpha + (destAlpha - sourceAlpha) * (int)(thisTick - startTick) / 200), LWA_ALPHA);
}
setLayeredWindowAttributes(hwnd, RGB(0, 0, 0), (BYTE) destAlpha, LWA_ALPHA);
}
diff --git a/src/modules/clist/contacts.cpp b/src/modules/clist/contacts.cpp index 65ecf618e3..ec1717dfd5 100644 --- a/src/modules/clist/contacts.cpp +++ b/src/modules/clist/contacts.cpp @@ -62,7 +62,7 @@ static int ProcessDatabaseValueDefault(CONTACTINFO *ci, const char* setting) ci->pszVal = dbv.ptszVal;
return 0;
}
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
if (DBGetContactSetting(ci->hContact, ci->szProto, setting, &dbv))
@@ -83,7 +83,7 @@ static int ProcessDatabaseValueDefault(CONTACTINFO *ci, const char* setting) return 0;
}
- DBFreeVariant(&dbv);
+ db_free(&dbv);
return 1;
}
@@ -159,12 +159,12 @@ static INT_PTR GetContactInfo(WPARAM, LPARAM lParam) { else ci->pszVal = (TCHAR*)mir_strdup(countries[i].szName);
ci->type = CNFT_ASCIIZ;
- DBFreeVariant(&dbv);
+ db_free(&dbv);
return 0;
}
}
else return ProcessDatabaseValueDefault(ci, (ci->dwFlag & 0x7F) == CNF_COUNTRY ? "Country" : "CompanyCountry");
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
break;
@@ -187,11 +187,11 @@ static INT_PTR GetContactInfo(WPARAM, LPARAM lParam) { strcat(strcat(strcpy(buf, dbv.pszVal), " "), dbv2.pszVal);
ci->pszVal = (TCHAR*)buf;
}
- DBFreeVariant(&dbv);
- DBFreeVariant(&dbv2);
+ db_free(&dbv);
+ db_free(&dbv2);
return 0;
}
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
break;
@@ -305,11 +305,11 @@ static INT_PTR GetContactInfo(WPARAM, LPARAM lParam) { ci->pszVal = (TCHAR*)buf;
}
- DBFreeVariant(&dbv);
- DBFreeVariant(&dbv2);
+ db_free(&dbv);
+ db_free(&dbv2);
return 0;
}
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
break;
@@ -510,7 +510,7 @@ int LoadContactsModule(void) DBVARIANT dbv;
if ( !DBGetContactSetting(NULL, "Contact", "NameOrder", &dbv)) {
CopyMemory(nameOrder, dbv.pbVal, dbv.cpbVal);
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
CreateServiceFunction(MS_CONTACT_GETCONTACTINFO, GetContactInfo);
diff --git a/src/modules/clist/genmenu.cpp b/src/modules/clist/genmenu.cpp index df8903a58d..8f6944f837 100644 --- a/src/modules/clist/genmenu.cpp +++ b/src/modules/clist/genmenu.cpp @@ -932,7 +932,7 @@ HMENU BuildRecursiveMenu(HMENU hMenu, PMO_IntMenuItem pRootMenu, ListParam *para if ( !DBGetContactSettingTString(NULL, MenuNameItems, DBString, &dbv)) {
if (_tcslen(dbv.ptszVal) > 0)
replaceStrT(pmi->CustomName, dbv.ptszVal);
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
mir_snprintf(DBString, SIZEOF(DBString), "%s_pos", menuItemName);
diff --git a/src/modules/clist/genmenuopt.cpp b/src/modules/clist/genmenuopt.cpp index d3b0b157c3..e9e4bff881 100644 --- a/src/modules/clist/genmenuopt.cpp +++ b/src/modules/clist/genmenuopt.cpp @@ -265,7 +265,7 @@ static int BuildTree(HWND hwndDlg, int MenuObjectId, BOOL bReread) if ( !DBGetContactSettingTString(NULL, MenuNameItems, buf, &dbv)) {
PD->name = mir_tstrdup(dbv.ptszVal);
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
else PD->name = mir_tstrdup(GetMenuItemText(p));
}
diff --git a/src/modules/clist/groups.cpp b/src/modules/clist/groups.cpp index fb9ce4cc3b..e3a6424c48 100644 --- a/src/modules/clist/groups.cpp +++ b/src/modules/clist/groups.cpp @@ -38,7 +38,7 @@ static int CountGroups(void) _itoa(i, str, 10);
if (DBGetContactSetting(NULL, "CListGroups", str, &dbv))
break;
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
return i;
}
@@ -56,10 +56,10 @@ static int GroupNameExists(const TCHAR *name, int skipGroup) if (DBGetContactSettingTString(NULL, "CListGroups", idstr, &dbv))
break;
if ( !_tcscmp(dbv.ptszVal + 1, name)) {
- DBFreeVariant(&dbv);
+ db_free(&dbv);
return i+1;
}
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
return 0;
}
@@ -120,7 +120,7 @@ static INT_PTR GetGroupName2(WPARAM wParam, LPARAM lParam) lstrcpynA(name, dbv.pszVal + 1, SIZEOF(name));
if ((DWORD *) lParam != NULL)
*(DWORD *) lParam = dbv.pszVal[0];
- DBFreeVariant(&dbv);
+ db_free(&dbv);
return (INT_PTR) name;
}
@@ -137,7 +137,7 @@ TCHAR* fnGetGroupName(int idx, DWORD* pdwFlags) lstrcpyn(name, dbv.ptszVal + 1, SIZEOF(name));
if (pdwFlags != NULL)
*pdwFlags = dbv.ptszVal[0];
- DBFreeVariant(&dbv);
+ db_free(&dbv);
return name;
}
@@ -163,7 +163,7 @@ static INT_PTR DeleteGroup(WPARAM wParam, LPARAM) if (DBGetContactSettingTString(NULL, "CListGroups", str, &dbv))
return 1;
lstrcpyn(name, dbv.ptszVal + 1, SIZEOF(name));
- DBFreeVariant(&dbv);
+ db_free(&dbv);
if (db_get_b(NULL, "CList", "ConfirmDelete", SETTING_CONFIRMDELETE_DEFAULT))
{
TCHAR szQuestion[256+100];
@@ -192,10 +192,10 @@ static INT_PTR DeleteGroup(WPARAM wParam, LPARAM) if (_tcscmp(dbv.ptszVal, name))
{
- DBFreeVariant(&dbv);
+ db_free(&dbv);
continue;
}
- DBFreeVariant(&dbv);
+ db_free(&dbv);
if (szNewParent[0])
{
@@ -216,7 +216,7 @@ static INT_PTR DeleteGroup(WPARAM wParam, LPARAM) break;
_itoa(i, str, 10);
DBWriteContactSettingStringUtf(NULL, "CListGroups", str, dbv.pszVal);
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
_itoa(i, str, 10);
DBDeleteContactSetting(NULL, "CListGroups", str);
@@ -237,7 +237,7 @@ static INT_PTR DeleteGroup(WPARAM wParam, LPARAM) lstrcpyn(szNewName, dbv.ptszVal + len + 2, SIZEOF(szNewName));
cli.pfnRenameGroup(i + 1, szNewName);
}
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
}
SetCursor(LoadCursor(NULL, IDC_ARROW));
@@ -268,7 +268,7 @@ static int RenameGroupWithMove(int groupId, const TCHAR *szName, int move) return 1;
str[0] = dbv.pszVal[0] & 0x7F;
lstrcpyn(oldName, dbv.ptszVal + 1, SIZEOF(oldName));
- DBFreeVariant(&dbv);
+ db_free(&dbv);
lstrcpyn(str + 1, szName, SIZEOF(str) - 1);
db_set_ts(NULL, "CListGroups", idstr, str);
@@ -300,7 +300,7 @@ static int RenameGroupWithMove(int groupId, const TCHAR *szName, int move) mir_sntprintf(szNewName, SIZEOF(szNewName), _T("%s\\%s"), szName, dbv.ptszVal + len + 2);
RenameGroupWithMove(i, szNewName, 0); //luckily, child groups will never need reordering
}
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
}
@@ -323,7 +323,7 @@ static int RenameGroupWithMove(int groupId, const TCHAR *szName, int move) MoveGroupBefore(groupId + 1, i + 2);
break;
}
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
}
}
@@ -360,7 +360,7 @@ static INT_PTR SetGroupExpandedState(WPARAM wParam, LPARAM lParam) else
dbv.pszVal[0] = dbv.pszVal[0] & ~GROUPF_EXPANDED;
DBWriteContactSettingStringUtf(NULL, "CListGroups", idstr, dbv.pszVal);
- DBFreeVariant(&dbv);
+ db_free(&dbv);
return 0;
}
@@ -377,7 +377,7 @@ static INT_PTR SetGroupFlags(WPARAM wParam, LPARAM lParam) oldval = dbv.pszVal[0];
newval = dbv.pszVal[0] = ((oldval & ~HIWORD(lParam)) | flags) & 0x7f;
DBWriteContactSettingStringUtf(NULL, "CListGroups", idstr, dbv.pszVal);
- DBFreeVariant(&dbv);
+ db_free(&dbv);
if ((oldval & GROUPF_HIDEOFFLINE) != (newval & GROUPF_HIDEOFFLINE))
cli.pfnLoadContactTree();
return 0;
@@ -423,7 +423,7 @@ static INT_PTR MoveGroupBefore(WPARAM wParam, LPARAM lParam) }
_itoa(i, str, 10);
DBWriteContactSettingStringUtf(NULL, "CListGroups", str, dbv.pszVal);
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
}
else {
@@ -435,7 +435,7 @@ static INT_PTR MoveGroupBefore(WPARAM wParam, LPARAM lParam) } //never happens
_itoa(i, str, 10);
DBWriteContactSettingStringUtf(NULL, "CListGroups", str, dbv.pszVal);
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
}
_itoa(shuffleTo, str, 10);
@@ -457,7 +457,7 @@ static INT_PTR BuildGroupMenu(WPARAM, LPARAM) if (DBGetContactSettingStringUtf(NULL, "CListGroups", "0", &dbv))
return (INT_PTR) (HMENU) NULL;
- DBFreeVariant(&dbv);
+ db_free(&dbv);
hRootMenu = CreateMenu();
for (groupId = 0;; groupId++) {
_itoa(groupId, idstr, 10);
@@ -510,7 +510,7 @@ static INT_PTR BuildGroupMenu(WPARAM, LPARAM) }
break;
}
- if ((int) mii.dwItemData - 1 > groupId)
+ if ((int)mii.dwItemData - 1 > groupId)
break;
}
if (compareResult) {
@@ -533,7 +533,7 @@ static INT_PTR BuildGroupMenu(WPARAM, LPARAM) }
} while (pNextField);
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
return (INT_PTR) hRootMenu;
}
@@ -553,7 +553,7 @@ int InitGroupServices(void) dbv.pszVal[0] &= 0x7f;
DBWriteContactSettingStringUtf(NULL, "CListGroups", str, dbv.pszVal);
}
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
CreateServiceFunction(MS_CLIST_GROUPCREATE, CreateGroup);
diff --git a/src/modules/clist/keyboard.cpp b/src/modules/clist/keyboard.cpp index 6da22a5fb7..37fe94b30c 100644 --- a/src/modules/clist/keyboard.cpp +++ b/src/modules/clist/keyboard.cpp @@ -35,7 +35,7 @@ INT_PTR hkSearch(WPARAM wParam, LPARAM lParam) DBVARIANT dbv = {0};
if ( !DBGetContactSettingString(NULL, "CList", "SearchUrl", &dbv)) {
CallService(MS_UTILS_OPENURL, db_get_b(NULL, "CList", "HKSearchNewWnd", 0), (LPARAM)dbv.pszVal);
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
return 0;
}
diff --git a/src/modules/database/dbini.cpp b/src/modules/database/dbini.cpp index 2d148f146c..f6731cc20d 100644 --- a/src/modules/database/dbini.cpp +++ b/src/modules/database/dbini.cpp @@ -337,7 +337,7 @@ static void ProcessIniFile(TCHAR* szIniPath, char *szSafeSections, char *szUnsaf ConvertBackslashes(szValue+1, Langpack_GetDefaultCodePage());
case 's':
case 'S':
- DBWriteContactSettingString(NULL, szSection, szName, szValue+1);
+ db_set_s(NULL, szSection, szName, szValue+1);
break;
case 'g':
case 'G':
diff --git a/src/modules/extraicons/CallbackExtraIcon.cpp b/src/modules/extraicons/CallbackExtraIcon.cpp index 703628e73d..8c07bfd327 100644 --- a/src/modules/extraicons/CallbackExtraIcon.cpp +++ b/src/modules/extraicons/CallbackExtraIcon.cpp @@ -60,12 +60,17 @@ void CallbackExtraIcon::applyIcon(HANDLE hContact) ApplyIcon((WPARAM) hContact, 0);
}
-int CallbackExtraIcon::setIcon(int id, HANDLE hContact, void *icon)
+int CallbackExtraIcon::setIcon(int id, HANDLE hContact, HANDLE icon)
{
if (!isEnabled() || hContact == NULL || id != this->id)
return -1;
- return ClistSetExtraIcon(hContact, (HANDLE) icon);
+ return ClistSetExtraIcon(hContact, icon);
+}
+
+int CallbackExtraIcon::setIconByName(int id, HANDLE hContact, const char *icon)
+{
+ return -1;
}
void CallbackExtraIcon::storeIcon(HANDLE hContact, void *icon)
diff --git a/src/modules/extraicons/CallbackExtraIcon.h b/src/modules/extraicons/CallbackExtraIcon.h index 547f81a477..b339ce53d3 100644 --- a/src/modules/extraicons/CallbackExtraIcon.h +++ b/src/modules/extraicons/CallbackExtraIcon.h @@ -34,7 +34,8 @@ public: virtual void rebuildIcons();
virtual void applyIcon(HANDLE hContact);
- virtual int setIcon(int id, HANDLE hContact, void *icon);
+ virtual int setIcon(int id, HANDLE hContact, HANDLE icon);
+ virtual int setIconByName(int id, HANDLE hContact, const char* icon);
virtual void storeIcon(HANDLE hContact, void *icon);
private:
diff --git a/src/modules/extraicons/DefaultExtraIcons.cpp b/src/modules/extraicons/DefaultExtraIcons.cpp index 539475b10a..5a7917a331 100644 --- a/src/modules/extraicons/DefaultExtraIcons.cpp +++ b/src/modules/extraicons/DefaultExtraIcons.cpp @@ -63,7 +63,7 @@ static void SetVisibility(HANDLE hContact, int apparentMode, BOOL clear) return;
char *proto = (char*) CallService(MS_PROTO_GETCONTACTBASEPROTO, (WPARAM) hContact, 0);
- if (IsEmpty(proto))
+ if ( IsEmpty(proto))
return;
if (apparentMode <= 0)
@@ -102,7 +102,7 @@ static void SetGender(HANDLE hContact, int gender, BOOL clear) return;
char *proto = (char*) CallService(MS_PROTO_GETCONTACTBASEPROTO, (WPARAM) hContact, 0);
- if (IsEmpty(proto))
+ if ( IsEmpty(proto))
return;
if (gender <= 0)
@@ -172,7 +172,7 @@ static void SetExtraIcons(HANDLE hContact) return;
char *proto = (char*) CallService(MS_PROTO_GETCONTACTBASEPROTO, (WPARAM) hContact, 0);
- if (IsEmpty(proto))
+ if ( IsEmpty(proto))
return;
for (unsigned int i = 0; i < SIZEOF(infos); i++) {
@@ -189,7 +189,7 @@ static void SetExtraIcons(HANDLE hContact) info.SetIcon(hContact, &info, dbv.pszVal);
show = true;
}
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
}
}
@@ -252,7 +252,7 @@ static int DefaultOnClick(WPARAM wParam, LPARAM lParam, LPARAM param) return 0;
char *proto = (char*)CallService(MS_PROTO_GETCONTACTBASEPROTO, (WPARAM) hContact, 0);
- if (IsEmpty(proto))
+ if ( IsEmpty(proto))
return 0;
bool found = false;
@@ -267,7 +267,7 @@ static int DefaultOnClick(WPARAM wParam, LPARAM lParam, LPARAM param) found = true;
}
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
}
@@ -347,7 +347,7 @@ static int ProtocolApplyIcon(WPARAM wParam, LPARAM lParam) HANDLE hContact = (HANDLE)wParam;
char *proto = (char*) CallService(MS_PROTO_GETCONTACTBASEPROTO, (WPARAM) hContact, 0);
- if (IsEmpty(proto))
+ if ( IsEmpty(proto))
return 0;
ProtoInfo *pi = FindProto(proto);
diff --git a/src/modules/extraicons/ExtraIcon.h b/src/modules/extraicons/ExtraIcon.h index 281e9e25eb..0fec56562c 100644 --- a/src/modules/extraicons/ExtraIcon.h +++ b/src/modules/extraicons/ExtraIcon.h @@ -30,18 +30,19 @@ public: ExtraIcon(const char *name);
virtual ~ExtraIcon();
- virtual void rebuildIcons() =0;
+ virtual void rebuildIcons() = 0;
virtual void applyIcons();
- virtual void applyIcon(HANDLE hContact) =0;
- virtual void onClick(HANDLE hContact) =0;
+ virtual void applyIcon(HANDLE hContact) =0 ;
+ virtual void onClick(HANDLE hContact) = 0;
- virtual int setIcon(int id, HANDLE hContact, void *icon) =0;
- virtual void storeIcon(HANDLE hContact, void *icon) =0;
+ virtual int setIcon(int id, HANDLE hContact, HANDLE icon) = 0;
+ virtual int setIconByName(int id, HANDLE hContact, const char* icon) = 0;
+ virtual void storeIcon(HANDLE hContact, void *icon) = 0;
virtual const char *getName() const;
- virtual const TCHAR *getDescription() const =0;
- virtual const char *getDescIcon() const =0;
- virtual int getType() const =0;
+ virtual const TCHAR *getDescription() const = 0;
+ virtual const char *getDescIcon() const = 0;
+ virtual int getType() const = 0;
virtual int getSlot() const;
virtual void setSlot(int slot);
diff --git a/src/modules/extraicons/ExtraIconGroup.cpp b/src/modules/extraicons/ExtraIconGroup.cpp index 5d26f8488c..0f9e162877 100644 --- a/src/modules/extraicons/ExtraIconGroup.cpp +++ b/src/modules/extraicons/ExtraIconGroup.cpp @@ -65,17 +65,15 @@ void ExtraIconGroup::applyIcon(HANDLE hContact) insideApply = true;
unsigned int i;
- for (i = 0; i < items.size(); i++)
- {
+ for (i = 0; i < items.size(); i++) {
items[i]->applyIcon(hContact);
-
if (setValidExtraIcon)
break;
}
insideApply = false;
- DBWriteContactSettingDword(hContact, MODULE_NAME, name.c_str(), setValidExtraIcon ? items[i]->getID() : 0);
+ db_set_dw(hContact, MODULE_NAME, name.c_str(), setValidExtraIcon ? items[i]->getID() : 0);
}
int ExtraIconGroup::getPosition() const
@@ -96,7 +94,7 @@ void ExtraIconGroup::setSlot(int slot) ExtraIcon * ExtraIconGroup::getCurrentItem(HANDLE hContact) const
{
- int id = (int) DBGetContactSettingDword(hContact, MODULE_NAME, name.c_str(), 0);
+ int id = (int)DBGetContactSettingDword(hContact, MODULE_NAME, name.c_str(), 0);
if (id < 1)
return NULL;
@@ -114,13 +112,25 @@ void ExtraIconGroup::onClick(HANDLE hContact) extra->onClick(hContact);
}
-int ExtraIconGroup::setIcon(int id, HANDLE hContact, void *icon)
+int ExtraIconGroup::setIcon(int id, HANDLE hContact, HANDLE value)
{
- if (insideApply)
- {
+ return internalSetIcon(id, hContact, (void*)value, false);
+}
+
+int ExtraIconGroup::setIconByName(int id, HANDLE hContact, const char *value)
+{
+ return internalSetIcon(id, hContact, (void*)value, true);
+}
+
+int ExtraIconGroup::internalSetIcon(int id, HANDLE hContact, void *value, bool bByName)
+{
+ if (insideApply) {
for (unsigned int i = 0; i < items.size(); i++)
- if (items[i]->getID() == id)
- return items[i]->setIcon(id, hContact, icon);
+ if (items[i]->getID() == id) {
+ if (bByName)
+ return items[i]->setIconByName(id, hContact, (const char*)value);
+ return items[i]->setIcon(id, hContact, (HANDLE)value);
+ }
return -1;
}
@@ -128,8 +138,7 @@ int ExtraIconGroup::setIcon(int id, HANDLE hContact, void *icon) ExtraIcon *current = getCurrentItem(hContact);
int currentPos = (int)items.size();
int storePos = (int)items.size();
- for (unsigned int i = 0; i < items.size(); i++)
- {
+ for (unsigned int i = 0; i < items.size(); i++) {
if (items[i]->getID() == id)
storePos = i;
@@ -140,9 +149,8 @@ int ExtraIconGroup::setIcon(int id, HANDLE hContact, void *icon) if (storePos == items.size())
return -1;
- if (storePos > currentPos)
- {
- items[storePos]->storeIcon(hContact, icon);
+ if (storePos > currentPos) {
+ items[storePos]->storeIcon(hContact, value);
return 0;
}
@@ -150,25 +158,24 @@ int ExtraIconGroup::setIcon(int id, HANDLE hContact, void *icon) setValidExtraIcon = false;
- int ret = items[storePos]->setIcon(id, hContact, icon);
+ int ret;
+ if (bByName)
+ ret = items[storePos]->setIconByName(id, hContact, (const char*)value);
+ else
+ ret = items[storePos]->setIcon(id, hContact, (HANDLE)value);
- if (storePos < currentPos)
- {
+ if (storePos < currentPos) {
if (setValidExtraIcon)
- DBWriteContactSettingDword(hContact, MODULE_NAME, name.c_str(), items[storePos]->getID());
+ db_set_dw(hContact, MODULE_NAME, name.c_str(), items[storePos]->getID());
}
- else if (storePos == currentPos)
- {
- if (!setValidExtraIcon)
- {
- DBWriteContactSettingDword(hContact, MODULE_NAME, name.c_str(), 0);
+ else if (storePos == currentPos) {
+ if (!setValidExtraIcon) {
+ db_set_dw(hContact, MODULE_NAME, name.c_str(), 0);
insideApply = true;
- for (++storePos; storePos < (int)items.size(); ++storePos)
- {
+ for (++storePos; storePos < (int)items.size(); ++storePos) {
items[storePos]->applyIcon(hContact);
-
if (setValidExtraIcon)
break;
}
@@ -176,7 +183,7 @@ int ExtraIconGroup::setIcon(int id, HANDLE hContact, void *icon) insideApply = false;
if (setValidExtraIcon)
- DBWriteContactSettingDword(hContact, MODULE_NAME, name.c_str(), items[storePos]->getID());
+ db_set_dw(hContact, MODULE_NAME, name.c_str(), items[storePos]->getID());
}
}
diff --git a/src/modules/extraicons/ExtraIconGroup.h b/src/modules/extraicons/ExtraIconGroup.h index eb2aec5561..bddc3bed5e 100644 --- a/src/modules/extraicons/ExtraIconGroup.h +++ b/src/modules/extraicons/ExtraIconGroup.h @@ -27,6 +27,7 @@ class BaseExtraIcon; class ExtraIconGroup : public ExtraIcon
{
+ int internalSetIcon(int id, HANDLE hContact, HANDLE icon, bool bByName);
public:
ExtraIconGroup(const char *name);
virtual ~ExtraIconGroup();
@@ -37,7 +38,8 @@ public: virtual void applyIcon(HANDLE hContact);
virtual void onClick(HANDLE hContact);
- virtual int setIcon(int id, HANDLE hContact, void *icon);
+ virtual int setIcon(int id, HANDLE hContact, HANDLE icon);
+ virtual int setIconByName(int id, HANDLE hContact, const char* icon);
virtual void storeIcon(HANDLE hContact, void *icon);
virtual const TCHAR *getDescription() const;
@@ -56,7 +58,7 @@ protected: bool setValidExtraIcon;
bool insideApply;
- virtual ExtraIcon * getCurrentItem(HANDLE hContact) const;
+ virtual ExtraIcon *getCurrentItem(HANDLE hContact) const;
};
#endif // __EXTRAICONGROUP_H__
diff --git a/src/modules/extraicons/IcolibExtraIcon.cpp b/src/modules/extraicons/IcolibExtraIcon.cpp index bfc273fd0b..53d627da9e 100644 --- a/src/modules/extraicons/IcolibExtraIcon.cpp +++ b/src/modules/extraicons/IcolibExtraIcon.cpp @@ -54,18 +54,50 @@ void IcolibExtraIcon::applyIcon(HANDLE hContact) HANDLE hImage = INVALID_HANDLE_VALUE;
DBVARIANT dbv = { 0 };
- if (!DBGetContactSettingString(hContact, MODULE_NAME, name.c_str(), &dbv))
- {
+ if ( !DBGetContactSettingString(hContact, MODULE_NAME, name.c_str(), &dbv)) {
if (!IsEmpty(dbv.pszVal))
hImage = GetIcon(dbv.pszVal);
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
ClistSetExtraIcon(hContact, hImage);
}
-int IcolibExtraIcon::setIcon(int id, HANDLE hContact, void *icon)
+int IcolibExtraIcon::setIcon(int id, HANDLE hContact, HANDLE hIcoLib)
+{
+ if (hContact == NULL || id != this->id)
+ return -1;
+
+ if (hIcoLib == INVALID_HANDLE_VALUE)
+ hIcoLib = NULL;
+
+ if (isEnabled()) {
+ DBVARIANT dbv = { 0 };
+ if ( !DBGetContactSettingString(hContact, MODULE_NAME, name.c_str(), &dbv)) {
+ if (!IsEmpty(dbv.pszVal))
+ RemoveIcon(dbv.pszVal);
+
+ db_free(&dbv);
+ }
+ }
+
+ storeIcon(hContact, hIcoLib);
+
+ if (isEnabled()) {
+ HANDLE hImage;
+ if (hIcoLib == NULL)
+ hImage = INVALID_HANDLE_VALUE;
+ else
+ hImage = AddIcon(hIcoLib);
+
+ return ClistSetExtraIcon(hContact, hImage);
+ }
+
+ return 0;
+}
+
+int IcolibExtraIcon::setIconByName(int id, HANDLE hContact, const char *icon)
{
if (hContact == NULL || id != this->id)
return -1;
@@ -73,26 +105,23 @@ int IcolibExtraIcon::setIcon(int id, HANDLE hContact, void *icon) if (icon == INVALID_HANDLE_VALUE)
icon = NULL;
- if (isEnabled())
- {
+ if (isEnabled()) {
DBVARIANT dbv = { 0 };
- if (!DBGetContactSettingString(hContact, MODULE_NAME, name.c_str(), &dbv))
- {
+ if ( !DBGetContactSettingString(hContact, MODULE_NAME, name.c_str(), &dbv)) {
if (!IsEmpty(dbv.pszVal))
RemoveIcon(dbv.pszVal);
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
}
- storeIcon(hContact, icon);
+ storeIcon(hContact, "");
- if (isEnabled())
- {
+ if (isEnabled()) {
const char *icolibName = (const char *) icon;
HANDLE hImage;
- if (IsEmpty(icolibName))
+ if ( IsEmpty(icolibName))
hImage = INVALID_HANDLE_VALUE;
else
hImage = AddIcon(icolibName);
@@ -109,8 +138,8 @@ void IcolibExtraIcon::storeIcon(HANDLE hContact, void *icon) return;
const char *icolibName = (const char *) icon;
- if (IsEmpty(icolibName))
- icolibName = ""; // Delete don't work and I don't know why
+ if ( IsEmpty(icolibName))
+ icolibName = ""; // Delete doesn't work, and I don't know why
- DBWriteContactSettingString(hContact, MODULE_NAME, name.c_str(), icolibName);
+ db_set_s(hContact, MODULE_NAME, name.c_str(), icolibName);
}
diff --git a/src/modules/extraicons/IcolibExtraIcon.h b/src/modules/extraicons/IcolibExtraIcon.h index 5f113e7251..beb24fbdc3 100644 --- a/src/modules/extraicons/IcolibExtraIcon.h +++ b/src/modules/extraicons/IcolibExtraIcon.h @@ -25,8 +25,7 @@ class IcolibExtraIcon : public BaseExtraIcon
{
public:
- IcolibExtraIcon(int id, const char *name, const TCHAR *description, const char *descIcon, MIRANDAHOOKPARAM OnClick,
- LPARAM param);
+ IcolibExtraIcon(int id, const char *name, const TCHAR *description, const char *descIcon, MIRANDAHOOKPARAM OnClick, LPARAM param);
virtual ~IcolibExtraIcon();
virtual int getType() const;
@@ -34,7 +33,8 @@ public: virtual void rebuildIcons();
virtual void applyIcon(HANDLE hContact);
- virtual int setIcon(int id, HANDLE hContact, void *icon);
+ virtual int setIcon(int id, HANDLE hContact, HANDLE icon);
+ virtual int setIconByName(int id, HANDLE hContact, const char* icon);
virtual void storeIcon(HANDLE hContact, void *icon);
};
diff --git a/src/modules/extraicons/extraicons.cpp b/src/modules/extraicons/extraicons.cpp index 45a81235e6..9f119d5706 100644 --- a/src/modules/extraicons/extraicons.cpp +++ b/src/modules/extraicons/extraicons.cpp @@ -102,7 +102,7 @@ int Clist_SetExtraIcon(HANDLE hContact, int slot, HANDLE hImage) ExtraIcon* GetExtraIcon(HANDLE id)
{
- unsigned int i = (int) id;
+ unsigned int i = (int)id;
if (i < 1 || i > extraIconsByHandle.size())
return NULL;
@@ -157,7 +157,7 @@ static void LoadGroups(vector<ExtraIconGroup *> &groups) group->setSlot(extra->getSlot());
}
}
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
}
@@ -257,7 +257,7 @@ int ClistExtraClick(WPARAM wParam, LPARAM lParam) if (hContact == NULL)
return 0;
- int clistSlot = (int) lParam;
+ int clistSlot = (int)lParam;
for (unsigned int i = 0; i < extraIconsBySlot.size(); i++) {
ExtraIcon *extra = extraIconsBySlot[i];
@@ -349,11 +349,11 @@ INT_PTR ExtraIcon_Register(WPARAM wParam, LPARAM lParam) return 0;
EXTRAICON_INFO *ei = (EXTRAICON_INFO *) wParam;
- if (ei->cbSize < (int) sizeof(EXTRAICON_INFO))
+ if (ei->cbSize < (int)sizeof(EXTRAICON_INFO))
return 0;
if (ei->type != EXTRAICON_TYPE_CALLBACK && ei->type != EXTRAICON_TYPE_ICOLIB)
return 0;
- if (IsEmpty(ei->name) || IsEmpty(ei->description))
+ if ( IsEmpty(ei->name) || IsEmpty(ei->description))
return 0;
if (ei->type == EXTRAICON_TYPE_CALLBACK && (ei->ApplyIcon == NULL || ei->RebuildIcons == NULL))
return 0;
@@ -457,17 +457,31 @@ INT_PTR ExtraIcon_SetIcon(WPARAM wParam, LPARAM lParam) if (wParam == 0)
return -1;
- EXTRAICON *ei = (EXTRAICON *) wParam;
- if (ei->cbSize < (int) sizeof(EXTRAICON))
+ EXTRAICON *ei = (EXTRAICON*)wParam;
+ if (ei->cbSize < (int)sizeof(EXTRAICON) || ei->hExtraIcon == NULL || ei->hContact == NULL)
return -1;
- if (ei->hExtraIcon == NULL || ei->hContact == NULL)
+
+ ExtraIcon *extra = GetExtraIcon(ei->hExtraIcon);
+ if (extra == NULL)
+ return -1;
+
+ return extra->setIcon((int)ei->hExtraIcon, ei->hContact, ei->hImage);
+}
+
+INT_PTR ExtraIcon_SetIconByName(WPARAM wParam, LPARAM lParam)
+{
+ if (wParam == 0)
+ return -1;
+
+ EXTRAICON *ei = (EXTRAICON*)wParam;
+ if (ei->cbSize < (int)sizeof(EXTRAICON) || ei->hExtraIcon == NULL || ei->hContact == NULL)
return -1;
ExtraIcon *extra = GetExtraIcon(ei->hExtraIcon);
if (extra == NULL)
return -1;
- return extra->setIcon((int) ei->hExtraIcon, ei->hContact, ei->hImage);
+ return extra->setIconByName((int)ei->hExtraIcon, ei->hContact, ei->icoName);
}
static INT_PTR svcExtraIcon_Add(WPARAM wParam, LPARAM lParam)
@@ -486,6 +500,7 @@ void LoadExtraIconsModule() // Services
CreateServiceFunction(MS_EXTRAICON_REGISTER, &ExtraIcon_Register);
CreateServiceFunction(MS_EXTRAICON_SET_ICON, &ExtraIcon_SetIcon);
+ CreateServiceFunction(MS_EXTRAICON_SET_ICON_BY_NAME, &ExtraIcon_SetIconByName);
CreateServiceFunction(MS_CLIST_EXTRA_ADD_ICON, &svcExtraIcon_Add);
diff --git a/src/modules/extraicons/options_ei.cpp b/src/modules/extraicons/options_ei.cpp index b04ec3fec3..2d4e9fd7df 100644 --- a/src/modules/extraicons/options_ei.cpp +++ b/src/modules/extraicons/options_ei.cpp @@ -419,7 +419,7 @@ static INT_PTR CALLBACK OptionsDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LP TranslateDialogDefault(hwndDlg);
{
int numSlots = GetNumberOfSlots();
- if (numSlots < (int) registeredExtraIcons.size()) {
+ if (numSlots < (int)registeredExtraIcons.size()) {
TCHAR txt[512];
mir_sntprintf(txt, SIZEOF(txt), TranslateT("* only the first %d icons will be shown"), numSlots);
@@ -573,7 +573,7 @@ static INT_PTR CALLBACK OptionsDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LP BaseExtraIcon *extra = group->items[j];
mir_snprintf(setting, SIZEOF(setting), "%d_%d", i, j);
- DBWriteContactSettingString(NULL, MODULE_NAME "Groups", setting, extra->getName());
+ db_set_s(NULL, MODULE_NAME "Groups", setting, extra->getName());
}
}
diff --git a/src/modules/extraicons/usedIcons.cpp b/src/modules/extraicons/usedIcons.cpp index 1c42104490..e810dd1878 100644 --- a/src/modules/extraicons/usedIcons.cpp +++ b/src/modules/extraicons/usedIcons.cpp @@ -25,41 +25,69 @@ struct Icon {
string name;
int refCount;
- HANDLE hImage;
+ HANDLE hIcoLib, hImage;
Icon(const char *icolibName) :
- name(icolibName), refCount(0), hImage(INVALID_HANDLE_VALUE)
+ name(icolibName), hIcoLib(0), refCount(0), hImage(INVALID_HANDLE_VALUE)
+ {
+ }
+
+ Icon(HANDLE _hIcolib) :
+ name(""), hIcoLib(_hIcolib), refCount(0), hImage(INVALID_HANDLE_VALUE)
{
}
};
static vector<Icon> usedIcons;
-static Icon * FindIcon(const char *icolibName)
+static Icon* FindIcon(const char *icolibName)
{
Icon *icon = NULL;
- for (unsigned int i = 0; i < usedIcons.size(); i++)
- {
+ for (unsigned int i = 0; i < usedIcons.size(); i++) {
Icon *tmp = &usedIcons[i];
- if (tmp->name != icolibName)
- continue;
-
- icon = tmp;
- break;
+ if (tmp->name == icolibName) {
+ icon = tmp;
+ break;
+ }
}
- if (icon == NULL)
- {
- usedIcons.push_back(Icon(icolibName));
+ if (icon == NULL) {
+ usedIcons.push_back( Icon(icolibName));
icon = &usedIcons[usedIcons.size() - 1];
}
- if (icon->hImage == INVALID_HANDLE_VALUE)
- {
+ if (icon->hImage == INVALID_HANDLE_VALUE) {
HICON hIcon = Skin_GetIcon(icon->name.c_str());
- if (hIcon != NULL)
- {
+ if (hIcon != NULL) {
+ icon->hImage = ExtraIcon_Add(hIcon);
+ Skin_ReleaseIcon(hIcon);
+ }
+ }
+
+ return icon;
+}
+
+static Icon* FindIcon(HANDLE hIcolib)
+{
+ Icon *icon = NULL;
+
+ for (unsigned int i = 0; i < usedIcons.size(); i++) {
+ Icon *tmp = &usedIcons[i];
+ if (tmp->hImage == hIcolib) {
+ icon = tmp;
+ break;
+ }
+ }
+
+ if (icon == NULL) {
+ usedIcons.push_back( Icon(hIcolib));
+ icon = &usedIcons[usedIcons.size() - 1];
+ }
+
+ if (icon->hImage == INVALID_HANDLE_VALUE) {
+ HICON hIcon = Skin_GetIconByHandle(icon->hIcoLib);
+ if (hIcon != NULL) {
icon->hImage = ExtraIcon_Add(hIcon);
Skin_ReleaseIcon(hIcon);
}
@@ -80,6 +108,13 @@ HANDLE AddIcon(const char *icolibName) return icon->hImage;
}
+HANDLE AddIcon(HANDLE hIcolib)
+{
+ Icon *icon = FindIcon(hIcolib);
+ icon->refCount++;
+ return icon->hImage;
+}
+
void RemoveIcon(const char *icolibName)
{
for (unsigned int i = 0; i < usedIcons.size(); i++)
diff --git a/src/modules/extraicons/usedIcons.h b/src/modules/extraicons/usedIcons.h index ef3a0f0200..b8aeee226c 100644 --- a/src/modules/extraicons/usedIcons.h +++ b/src/modules/extraicons/usedIcons.h @@ -20,9 +20,12 @@ #ifndef __USEDICONS_H__
#define __USEDICONS_H__
-HANDLE GetIcon(const char *icolibName);
-HANDLE AddIcon(const char *icolibName);
-void RemoveIcon(const char *icolibName);
+HANDLE GetIcon(LPCSTR icolibName);
+
+HANDLE AddIcon(LPCSTR icolibName);
+HANDLE AddIcon(HANDLE hIcolib);
+
+void RemoveIcon(LPCSTR icolibName);
void ResetIcons();
diff --git a/src/modules/findadd/findadd.cpp b/src/modules/findadd/findadd.cpp index c5306516ab..a693cc4c45 100644 --- a/src/modules/findadd/findadd.cpp +++ b/src/modules/findadd/findadd.cpp @@ -391,7 +391,7 @@ static INT_PTR CALLBACK DlgProcFindAdd(HWND hwndDlg, UINT msg, WPARAM wParam, LP if ((rect.right-rect.left)<cbwidth)
SendDlgItemMessage(hwndDlg, IDC_PROTOLIST, CB_SETDROPPEDWIDTH, cbwidth, 0);
SendDlgItemMessage(hwndDlg, IDC_PROTOLIST, CB_SETCURSEL, index, 0);
- DBFreeVariant(&dbv); /* free string szProto was fetched with */
+ db_free(&dbv); /* free string szProto was fetched with */
}
SendMessage(hwndDlg, M_SETGROUPVISIBILITIES, 0, 0);
Utils_RestoreWindowPosition(hwndDlg, NULL, "FindAdd", "");
diff --git a/src/modules/fonts/FontOptions.cpp b/src/modules/fonts/FontOptions.cpp index 46cf322731..21b786db0b 100644 --- a/src/modules/fonts/FontOptions.cpp +++ b/src/modules/fonts/FontOptions.cpp @@ -535,7 +535,7 @@ static void sttSaveFontData(HWND hwndDlg, FontInternal &F) if (db_set_ts(NULL, F.dbSettingsGroup, str, F.value.szFace)) {
char buff[1024];
WideCharToMultiByte(code_page, 0, F.value.szFace, -1, buff, 1024, 0, 0);
- DBWriteContactSettingString(NULL, F.dbSettingsGroup, str, buff);
+ db_set_s(NULL, F.dbSettingsGroup, str, buff);
}
mir_snprintf(str, SIZEOF(str), "%sSize", F.prefix);
diff --git a/src/modules/fonts/services.cpp b/src/modules/fonts/services.cpp index 7ec7d0397b..74c8ba9860 100644 --- a/src/modules/fonts/services.cpp +++ b/src/modules/fonts/services.cpp @@ -146,7 +146,7 @@ int GetFontSettingFromDB(char *settings_group, char *prefix, LOGFONT* lf, COLORR if ( !DBGetContactSettingTString(NULL, settings_group, idstr, &dbv)) {
_tcscpy(lf->lfFaceName, dbv.ptszVal);
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
else retval = 1;
diff --git a/src/modules/icolib/skin2icons.cpp b/src/modules/icolib/skin2icons.cpp index 0fd774a087..eec1dff500 100644 --- a/src/modules/icolib/skin2icons.cpp +++ b/src/modules/icolib/skin2icons.cpp @@ -674,7 +674,7 @@ HICON IconItem_GetIcon(IconItem* item, bool big) int cx = item->cx ? item->cx : GetSystemMetrics(big ? SM_CXICON : SM_CXSMICON);
int cy = item->cy ? item->cy : GetSystemMetrics(big ? SM_CYICON : SM_CYSMICON);
source = GetIconSourceItemFromPath(tszFullPath, cx, cy);
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
if (source)
diff --git a/src/modules/json/JSONNode.h b/src/modules/json/JSONNode.h index 3552f9f73c..0c4f19d08d 100644 --- a/src/modules/json/JSONNode.h +++ b/src/modules/json/JSONNode.h @@ -61,7 +61,7 @@ #define DECLARE_FOR_ALL_TYPES_CONST(foo)\ foo(char) const; foo(unsigned char) const;\ foo(short) const; foo(unsigned short) const;\ - foo(int) const; foo(unsigned int) const;\ + foo(int)const; foo(unsigned int) const;\ foo(long) const; foo(unsigned long) const;\ foo(float) const; foo(double) const;\ foo(bool) const;\ @@ -72,7 +72,7 @@ #define IMPLEMENT_FOR_ALL_NUMBERS(foo)\ foo(char) foo(unsigned char)\ foo(short) foo(unsigned short)\ - foo(int) foo(unsigned int)\ + foo(int)foo(unsigned int)\ foo(long) foo(unsigned long)\ foo(float) foo(double) diff --git a/src/modules/langpack/lpservices.cpp b/src/modules/langpack/lpservices.cpp index 01a1f9cf07..a761f50dec 100644 --- a/src/modules/langpack/lpservices.cpp +++ b/src/modules/langpack/lpservices.cpp @@ -95,7 +95,7 @@ static INT_PTR srvGetPluginLangpack(WPARAM wParam, LPARAM lParam) /////////////////////////////////////////////////////////////////////////////////////////
-MIR_CORE_DLL(int) LoadLangPackModule(void);
+MIR_CORE_DLL(int)LoadLangPackModule(void);
int LoadLangpackModule(void)
{
diff --git a/src/modules/netlib/netlib.cpp b/src/modules/netlib/netlib.cpp index 2c799ffa2e..b0d228ca09 100644 --- a/src/modules/netlib/netlib.cpp +++ b/src/modules/netlib/netlib.cpp @@ -121,7 +121,7 @@ static char *GetNetlibUserSettingString(const char *szUserModule, const char *sz char *szRet;
if (decode) CallService(MS_DB_CRYPT_DECODESTRING, strlen(dbv.pszVal) + 1, (LPARAM)dbv.pszVal);
szRet = mir_strdup(dbv.pszVal);
- DBFreeVariant(&dbv);
+ db_free(&dbv);
if (szRet == NULL) SetLastError(ERROR_OUTOFMEMORY);
return szRet;
}
diff --git a/src/modules/netlib/netliblog.cpp b/src/modules/netlib/netliblog.cpp index 01f5855e10..05b4e899dd 100644 --- a/src/modules/netlib/netliblog.cpp +++ b/src/modules/netlib/netliblog.cpp @@ -92,7 +92,7 @@ static INT_PTR CALLBACK LogOptionsDlgProc(HWND hwndDlg, UINT message, WPARAM wPa DBVARIANT dbv;
if ( !DBGetContactSettingString(NULL, "Netlib", "RunAtStart", &dbv)) {
SetDlgItemTextA(hwndDlg, IDC_RUNATSTART, dbv.pszVal);
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
}
logOptions.save = 0;
@@ -575,7 +575,7 @@ void NetlibLogInit(void) logOptions.szFile = mir_tstrdup(path);
mir_free(pszNewPath);
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
else {
logOptions.szUserFile = mir_tstrdup(_T("%miranda_logpath%\\netlog.txt"));
@@ -598,7 +598,7 @@ void NetlibLogInit(void) si.cb = sizeof(si);
if (dbv.ptszVal[0])
CreateProcess(NULL, dbv.ptszVal, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
}
diff --git a/src/modules/netlib/netlibopts.cpp b/src/modules/netlib/netlibopts.cpp index 1131980bc5..1a28e62df4 100644 --- a/src/modules/netlib/netlibopts.cpp +++ b/src/modules/netlib/netlibopts.cpp @@ -199,21 +199,21 @@ static void WriteSettingsStructToDb(const char *szSettingsModule, NETLIBUSERSETT db_set_b(NULL, szSettingsModule, "NLValidateSSL", (BYTE)settings->validateSSL);
db_set_b(NULL, szSettingsModule, "NLUseProxy", (BYTE)settings->useProxy);
db_set_b(NULL, szSettingsModule, "NLProxyType", (BYTE)settings->proxyType);
- DBWriteContactSettingString(NULL, szSettingsModule, "NLProxyServer", settings->szProxyServer?settings->szProxyServer:"");
+ db_set_s(NULL, szSettingsModule, "NLProxyServer", settings->szProxyServer?settings->szProxyServer:"");
DBWriteContactSettingWord(NULL, szSettingsModule, "NLProxyPort", (WORD)settings->wProxyPort);
db_set_b(NULL, szSettingsModule, "NLUseProxyAuth", (BYTE)settings->useProxyAuth);
- DBWriteContactSettingString(NULL, szSettingsModule, "NLProxyAuthUser", settings->szProxyAuthUser?settings->szProxyAuthUser:"");
+ db_set_s(NULL, szSettingsModule, "NLProxyAuthUser", settings->szProxyAuthUser?settings->szProxyAuthUser:"");
lstrcpynA(szEncodedPassword, settings->szProxyAuthPassword?settings->szProxyAuthPassword:"", SIZEOF(szEncodedPassword));
CallService(MS_DB_CRYPT_ENCODESTRING, SIZEOF(szEncodedPassword), (LPARAM)szEncodedPassword);
- DBWriteContactSettingString(NULL, szSettingsModule, "NLProxyAuthPassword", szEncodedPassword);
+ db_set_s(NULL, szSettingsModule, "NLProxyAuthPassword", szEncodedPassword);
db_set_b(NULL, szSettingsModule, "NLDnsThroughProxy", (BYTE)settings->dnsThroughProxy);
db_set_b(NULL, szSettingsModule, "NLSpecifyOutgoingPorts", (BYTE)settings->specifyOutgoingPorts);
- DBWriteContactSettingString(NULL, szSettingsModule, "NLOutgoingPorts", settings->szOutgoingPorts?settings->szOutgoingPorts:"");
+ db_set_s(NULL, szSettingsModule, "NLOutgoingPorts", settings->szOutgoingPorts?settings->szOutgoingPorts:"");
}
if (flags & NUF_INCOMING) {
db_set_b(NULL, szSettingsModule, "NLEnableUPnP", (BYTE)settings->enableUPnP);
db_set_b(NULL, szSettingsModule, "NLSpecifyIncomingPorts", (BYTE)settings->specifyIncomingPorts);
- DBWriteContactSettingString(NULL, szSettingsModule, "NLIncomingPorts", settings->szIncomingPorts?settings->szIncomingPorts:"");
+ db_set_s(NULL, szSettingsModule, "NLIncomingPorts", settings->szIncomingPorts?settings->szIncomingPorts:"");
}
}
diff --git a/src/modules/options/options.cpp b/src/modules/options/options.cpp index 64879ee5c8..4d8d71c438 100644 --- a/src/modules/options/options.cpp +++ b/src/modules/options/options.cpp @@ -718,13 +718,13 @@ static INT_PTR CALLBACK OptionsDlgProc(HWND hdlg, UINT message, WPARAM wParam, L if (ood->pszPage == NULL) {
if ( !DBGetContactSettingTString(NULL, "Options", "LastPage", &dbv)) {
lastPage = mir_tstrdup(dbv.ptszVal);
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
if (ood->pszGroup == NULL) {
if ( !DBGetContactSettingTString(NULL, "Options", "LastGroup", &dbv)) {
lastGroup = mir_tstrdup(dbv.ptszVal);
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
}
else lastGroup = mir_a2t(ood->pszGroup);
@@ -737,7 +737,7 @@ static INT_PTR CALLBACK OptionsDlgProc(HWND hdlg, UINT message, WPARAM wParam, L if (ood->pszTab == NULL) {
if ( !DBGetContactSettingTString(NULL, "Options", "LastTab", &dbv)) {
lastTab = mir_tstrdup(dbv.ptszVal);
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
}
else lastTab = mir_a2t(ood->pszTab);
diff --git a/src/modules/protocols/protoaccs.cpp b/src/modules/protocols/protoaccs.cpp index fff20b30c2..b643a960e8 100644 --- a/src/modules/protocols/protoaccs.cpp +++ b/src/modules/protocols/protoaccs.cpp @@ -54,7 +54,7 @@ static int EnumDbModules(const char *szModuleName, DWORD ofsModuleName, LPARAM l pa->iOrder = accounts.getCount();
accounts.insert(pa);
}
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
return 0;
}
@@ -73,12 +73,12 @@ void LoadDbAccounts(void) PROTOACCOUNT* pa = (PROTOACCOUNT*)mir_calloc(sizeof(PROTOACCOUNT));
if (pa == NULL) {
- DBFreeVariant(&dbv);
+ db_free(&dbv);
continue;
}
pa->cbSize = sizeof(*pa);
pa->szModuleName = mir_strdup(dbv.pszVal);
- DBFreeVariant(&dbv);
+ db_free(&dbv);
_itoa(OFFSET_VISIBLE+i, buf, 10);
pa->bIsVisible = db_get_dw(NULL, "Protocols", buf, 1);
@@ -87,11 +87,11 @@ void LoadDbAccounts(void) pa->iOrder = db_get_dw(NULL, "Protocols", buf, 1);
if (ver >= 4) {
- DBFreeVariant(&dbv);
+ db_free(&dbv);
_itoa(OFFSET_NAME+i, buf, 10);
if ( !DBGetContactSettingTString(NULL, "Protocols", buf, &dbv)) {
pa->tszAccountName = mir_tstrdup(dbv.ptszVal);
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
_itoa(OFFSET_ENABLED+i, buf, 10);
@@ -99,14 +99,14 @@ void LoadDbAccounts(void) if ( !DBGetContactSettingString(NULL, pa->szModuleName, "AM_BaseProto", &dbv)) {
pa->szProtoName = mir_strdup(dbv.pszVal);
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
}
else pa->bIsEnabled = TRUE;
if ( !pa->szProtoName) {
pa->szProtoName = mir_strdup(pa->szModuleName);
- DBWriteContactSettingString(NULL, pa->szModuleName, "AM_BaseProto", pa->szProtoName);
+ db_set_s(NULL, pa->szModuleName, "AM_BaseProto", pa->szProtoName);
}
if ( !pa->tszAccountName)
@@ -173,7 +173,7 @@ void WriteDbAccounts() char buf[ 20 ];
_itoa(i, buf, 10);
- DBWriteContactSettingString(NULL, "Protocols", buf, pa->szModuleName);
+ db_set_s(NULL, "Protocols", buf, pa->szModuleName);
_itoa(OFFSET_PROTOPOS+i, buf, 10);
db_set_dw(NULL, "Protocols", buf, pa->iOrder);
diff --git a/src/modules/protocols/protoopts.cpp b/src/modules/protocols/protoopts.cpp index 52bd819123..9aa7436b4d 100644 --- a/src/modules/protocols/protoopts.cpp +++ b/src/modules/protocols/protoopts.cpp @@ -175,7 +175,7 @@ static INT_PTR CALLBACK AccFormDlgProc(HWND hwndDlg, UINT message, WPARAM wParam mir_snprintf(buf, SIZEOF(buf), "%s_%d", pa->szProtoName, count++);
if (DBGetContactSettingString(NULL, buf, "AM_BaseProto", &dbv))
break;
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
}
pa->szModuleName = mir_strdup(buf);
@@ -185,7 +185,7 @@ static INT_PTR CALLBACK AccFormDlgProc(HWND hwndDlg, UINT message, WPARAM wParam pa->tszAccountName = mir_a2t(buf);
}
- DBWriteContactSettingString(NULL, pa->szModuleName, "AM_BaseProto", pa->szProtoName);
+ db_set_s(NULL, pa->szModuleName, "AM_BaseProto", pa->szProtoName);
accounts.insert(pa);
if ( ActivateAccount(pa)) {
diff --git a/src/modules/skin/skinicons.cpp b/src/modules/skin/skinicons.cpp index 37b01b0e40..b4e69eb602 100644 --- a/src/modules/skin/skinicons.cpp +++ b/src/modules/skin/skinicons.cpp @@ -369,7 +369,7 @@ static void convertOneProtocol(char *moduleName, char *iconName) _itoa(i, pi, 10);
db_set_ts(NULL, "SkinIcons", iconName, dbv.ptszVal);
- DBFreeVariant(&dbv);
+ db_free(&dbv);
DBDeleteContactSetting(NULL, "Icons", moduleName);
} } }
@@ -414,7 +414,7 @@ int LoadSkinIcons(void) mir_snprintf(iconName, SIZEOF(iconName), "%s%d", mainIconsFmt, i);
db_set_ts(NULL, "SkinIcons", iconName, dbv.ptszVal);
- DBFreeVariant(&dbv);
+ db_free(&dbv);
DBDeleteContactSetting(NULL, "Icons", moduleName);
}
@@ -435,7 +435,7 @@ int LoadSkinIcons(void) mir_snprintf(iconName, SIZEOF(iconName), "%s" TCHAR_STR_PARAM, statusIconsFmt, dbv.ptszVal);
convertOneProtocol(moduleName, iconName);
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
moduleName[0] = 0;
strcpy(iconName, "core_status_" GLOBAL_PROTO_NAME);
diff --git a/src/modules/skin/sounds.cpp b/src/modules/skin/sounds.cpp index 42e51898ed..ebf2be6f80 100644 --- a/src/modules/skin/sounds.cpp +++ b/src/modules/skin/sounds.cpp @@ -96,7 +96,7 @@ static INT_PTR ServiceSkinAddNewSound(WPARAM wParam, LPARAM lParam) if (DBGetContactSettingString(NULL, "SkinSounds", item->name, &dbv))
db_set_ts(NULL, "SkinSounds", item->name, ptszDefaultFile);
else
- DBFreeVariant(&dbv);
+ db_free(&dbv);
mir_free(ptszDefaultFile);
}
@@ -129,7 +129,7 @@ static INT_PTR ServiceSkinPlaySound(WPARAM, LPARAM lParam) TCHAR szFull[MAX_PATH];
PathToAbsoluteT(dbv.ptszVal, szFull, NULL);
NotifyEventHooks(hPlayEvent, 0, (LPARAM)szFull);
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
}
return 1;
@@ -253,7 +253,7 @@ INT_PTR CALLBACK DlgProcSoundOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM TCHAR szPathFull[MAX_PATH];
PathToAbsoluteT(dbv.ptszVal, szPathFull, NULL);
NotifyEventHooks(hPlayEvent, 1, (LPARAM)szPathFull);
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
}
break;
@@ -282,7 +282,7 @@ INT_PTR CALLBACK DlgProcSoundOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM DBVARIANT dbv;
if (DBGetContactSettingTString(NULL, "SkinSounds", snd.name, &dbv) == 0) {
PathToAbsoluteT(dbv.ptszVal, strdir, NULL);
- DBFreeVariant(&dbv);
+ db_free(&dbv);
} } }
mir_sntprintf(strFull, SIZEOF(strFull), _T("%s"), snd.ptszTempFile ? snd.ptszTempFile : _T(""));
@@ -381,7 +381,7 @@ INT_PTR CALLBACK DlgProcSoundOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM DBVARIANT dbv;
if ( !DBGetContactSettingTString(NULL, "SkinSounds", arSounds[tvi.lParam].name, &dbv)) {
SetDlgItemText(hwndDlg, IDC_LOCATION, dbv.ptszVal);
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
else SetDlgItemText(hwndDlg, IDC_LOCATION, TranslateT("<not specified>"));
}
diff --git a/src/modules/utils/openurl.cpp b/src/modules/utils/openurl.cpp index a50ee22e7e..ebf462cca4 100644 --- a/src/modules/utils/openurl.cpp +++ b/src/modules/utils/openurl.cpp @@ -57,7 +57,7 @@ static void OpenURLThread(void *arg) DBVARIANT dbv;
if (!DBGetContactSettingTString(NULL, "Miranda", "OpenUrlBrowser", &dbv)) {
ShellExecute(NULL, _T("open"), dbv.ptszVal, szResult, NULL, (hUrlInfo->newWindow) ? SW_NORMAL : SW_SHOWDEFAULT);
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
else ShellExecute(NULL, _T("open"), szResult, NULL, NULL, (hUrlInfo->newWindow) ? SW_NORMAL : SW_SHOWDEFAULT);
diff --git a/src/modules/utils/path.cpp b/src/modules/utils/path.cpp index 9d2f543e4a..24e30fcf4a 100644 --- a/src/modules/utils/path.cpp +++ b/src/modules/utils/path.cpp @@ -71,7 +71,7 @@ TCHAR *GetContactID(HANDLE hContact) DBVARIANT dbv;
if ( !DBGetContactSettingTString(hContact, szProto, "ChatRoomID", &dbv)) {
theValue = (TCHAR *)mir_tstrdup(dbv.ptszVal);
- DBFreeVariant(&dbv);
+ db_free(&dbv);
return theValue;
} }
else {
diff --git a/src/modules/utils/timezones.cpp b/src/modules/utils/timezones.cpp index 2f7153442b..a230fa7083 100644 --- a/src/modules/utils/timezones.cpp +++ b/src/modules/utils/timezones.cpp @@ -190,7 +190,7 @@ static HANDLE timeapiGetInfoByContact(HANDLE hContact, DWORD dwFlags) if ( !DBGetContactSettingTString(hContact, "UserInfo", "TzName", &dbv))
{
HANDLE res = timeapiGetInfoByName(dbv.ptszVal, dwFlags);
- DBFreeVariant(&dbv);
+ db_free(&dbv);
if (res) return res;
}
@@ -201,7 +201,7 @@ static HANDLE timeapiGetInfoByContact(HANDLE hContact, DWORD dwFlags) if ( !DBGetContactSettingTString(hContact, szProto, "TzName", &dbv))
{
HANDLE res = timeapiGetInfoByName(dbv.ptszVal, dwFlags);
- DBFreeVariant(&dbv);
+ db_free(&dbv);
if (res) return res;
}
timezone = (signed char)db_get_b(hContact, szProto, "Timezone", -1);
@@ -390,7 +390,7 @@ static int timeapiSelectListItem(HANDLE hContact, HWND hWnd, DWORD dwFlags) break;
}
}
- DBFreeVariant(&dbv);
+ db_free(&dbv);
}
}
|