From 6559743974a7abb8fb2ce43d30689b95e7fc13f4 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sat, 11 Jul 2015 14:57:52 +0000 Subject: code cleaning git-svn-id: http://svn.miranda-ng.org/main/trunk@14537 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- src/mir_app/src/IcoLib.h | 29 +++-- src/mir_app/src/icolib.cpp | 242 +++++++++++++++++++---------------------- src/mir_app/src/menu_clist.cpp | 9 -- src/mir_app/src/skin2opts.cpp | 39 +++---- src/mir_app/src/skinicons.cpp | 5 - 5 files changed, 142 insertions(+), 182 deletions(-) (limited to 'src') diff --git a/src/mir_app/src/IcoLib.h b/src/mir_app/src/IcoLib.h index 02667beba2..b6c8cdb7ed 100644 --- a/src/mir_app/src/IcoLib.h +++ b/src/mir_app/src/IcoLib.h @@ -38,8 +38,8 @@ struct SectionItem struct IconSourceFile { - TCHAR* file; - int ref_count; + int ref_count; + TCHAR file[MAX_PATH]; }; struct IconSourceItem @@ -59,22 +59,22 @@ struct IconSourceItem struct IcolibItem { - char* name; - SectionItem* section; - int orderID; - TCHAR* description; - TCHAR* default_file; - int default_indx; - int cx, cy; - int hLangpack; + char* name; + SectionItem* section; + int orderID; + TCHAR* description; + IconSourceFile* default_file; + int default_indx; + int cx, cy; + int hLangpack; IconSourceItem* source_small; IconSourceItem* source_big; IconSourceItem* default_icon; - TCHAR* temp_file; - HICON temp_icon; - BOOL temp_reset; + TCHAR* temp_file; + HICON temp_icon; + BOOL temp_reset; __inline TCHAR* getDescr() const { return TranslateTH(hLangpack, description); } }; @@ -83,8 +83,7 @@ struct IcolibItem UINT _ExtractIconEx(LPCTSTR lpszFile, int iconIndex, int cxIcon, int cyIcon, HICON *phicon, UINT flags); -void __fastcall SAFE_FREE(void** p); -void __fastcall SafeDestroyIcon(HICON* icon); +void __fastcall SafeDestroyIcon(HICON &icon); int IconSourceItem_Release(IconSourceItem* &pitem); int IconSourceItem_ReleaseIcon(IconSourceItem *item); diff --git a/src/mir_app/src/icolib.cpp b/src/mir_app/src/icolib.cpp index f5db3be974..e45501ef37 100644 --- a/src/mir_app/src/icolib.cpp +++ b/src/mir_app/src/icolib.cpp @@ -27,6 +27,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "IcoLib.h" static BOOL bModuleInitialized = FALSE; +static volatile LONG iStaticCount = 1; HANDLE hIcons2ChangedEvent, hIconsChangedEvent; HICON hIconBlank = NULL; @@ -37,21 +38,21 @@ BOOL bNeedRebuild = FALSE; mir_cs csIconList; -static int sttCompareSections(const SectionItem* p1, const SectionItem* p2) +static int sttCompareSections(const SectionItem *p1, const SectionItem *p2) { return mir_tstrcmp(p1->name, p2->name); } LIST sectionList(20, sttCompareSections); -static int sttCompareIconSourceFiles(const IconSourceFile* p1, const IconSourceFile* p2) +static int sttCompareIconSourceFiles(const IconSourceFile *p1, const IconSourceFile *p2) { return mir_tstrcmpi(p1->file, p2->file); } static LIST iconSourceFileList(10, sttCompareIconSourceFiles); -static int sttCompareIconSourceItems(const IconSourceItem* p1, const IconSourceItem* p2) +static int sttCompareIconSourceItems(const IconSourceItem *p1, const IconSourceItem *p2) { if (p1->indx < p2->indx) return -1; @@ -79,7 +80,7 @@ static int sttCompareIconSourceItems(const IconSourceItem* p1, const IconSourceI static LIST iconSourceList(20, sttCompareIconSourceItems); -static int sttCompareIcons(const IcolibItem* p1, const IcolibItem* p2) +static int sttCompareIcons(const IcolibItem *p1, const IcolibItem *p2) { return mir_strcmp(p1->name, p2->name); } @@ -89,67 +90,55 @@ LIST iconList(20, sttCompareIcons); ///////////////////////////////////////////////////////////////////////////////////////// // Utility functions -void __fastcall SAFE_FREE(void** p) +void __fastcall SafeDestroyIcon(HICON &hIcon) { - if (*p) { - mir_free(*p); - *p = NULL; - } -} - -void __fastcall SafeDestroyIcon(HICON* icon) -{ - if (*icon) { - DestroyIcon(*icon); - *icon = NULL; + if (hIcon != NULL) { + DestroyIcon(hIcon); + hIcon = NULL; } } // Helper functions to manage Icon resources -IconSourceFile* IconSourceFile_Get(const TCHAR* file, bool isPath) +static IconSourceFile* IconSourceFile_Get(const TCHAR* file, bool isPath) { - TCHAR fileFull[MAX_PATH]; - if (!file) return NULL; + IconSourceFile key; if (isPath) - PathToAbsoluteT(file, fileFull); /// TODO: convert path to long - eliminate duplicate items + PathToAbsoluteT(file, key.file); /// TODO: convert path to long - eliminate duplicate items else - _tcsncpy_s(fileFull, file, _TRUNCATE); + _tcsncpy_s(key.file, file, _TRUNCATE); - IconSourceFile key = { fileFull }; - int ix; - if ((ix = iconSourceFileList.getIndex(&key)) != -1) { - iconSourceFileList[ix]->ref_count++; - return iconSourceFileList[ix]; + IconSourceFile *p = iconSourceFileList.find(&key); + if (p != NULL) { + p->ref_count++; + return p; } - IconSourceFile* newItem = (IconSourceFile*)mir_calloc(sizeof(IconSourceFile)); - newItem->file = mir_tstrdup(fileFull); - newItem->ref_count = 1; - iconSourceFileList.insert(newItem); - - return newItem; + // store only needed number of chars + size_t cbLen = _tcslen(key.file) + 1; + p = (IconSourceFile*)mir_alloc(sizeof(int) + sizeof(TCHAR)*cbLen); + p->ref_count = 1; + _tcsncpy_s(p->file, cbLen, key.file, _TRUNCATE); + iconSourceFileList.insert(p); + return p; } -int IconSourceFile_Release(IconSourceFile** pitem) +static int IconSourceFile_Release(IconSourceFile *pItem) { - if (pitem && *pitem && (*pitem)->ref_count) { - IconSourceFile* item = *pitem; - if (--item->ref_count <= 0) { - int indx; - if ((indx = iconSourceFileList.getIndex(item)) != -1) { - SAFE_FREE((void**)&item->file); - iconSourceFileList.remove(indx); - SAFE_FREE((void**)&item); - } + if (pItem == NULL || !pItem->ref_count) + return 1; + + if (--pItem->ref_count <= 0) { + int indx; + if ((indx = iconSourceFileList.getIndex(pItem)) != -1) { + iconSourceFileList.remove(indx); + mir_free(pItem); } - *pitem = NULL; - return 0; } - return 1; + return 0; } static int BytesPerScanLine(int PixelsPerScanline, int BitsPerPixel, int Alignment) @@ -248,10 +237,10 @@ static int GetIconData(HICON icon, BYTE** data, int* size) if (InternalGetDIB(iconInfo.hbmMask, 0, MonoInfo, MonoBits) || InternalGetDIB(iconInfo.hbmColor, 0, ColorInfo, ColorBits)) { - SAFE_FREE(&MonoInfo); - SAFE_FREE(&MonoBits); - SAFE_FREE(&ColorInfo); - SAFE_FREE(&ColorBits); + mir_free(MonoInfo); + mir_free(MonoBits); + mir_free(ColorInfo); + mir_free(ColorBits); DeleteObject(iconInfo.hbmColor); DeleteObject(iconInfo.hbmMask); return 1; // Failure @@ -268,10 +257,10 @@ static int GetIconData(HICON icon, BYTE** data, int* size) buf += ColorBitsSize; memcpy(buf, MonoBits, MonoBitsSize); - SAFE_FREE(&MonoInfo); - SAFE_FREE(&MonoBits); - SAFE_FREE(&ColorInfo); - SAFE_FREE(&ColorBits); + mir_free(MonoInfo); + mir_free(MonoBits); + mir_free(ColorInfo); + mir_free(ColorBits); DeleteObject(iconInfo.hbmColor); DeleteObject(iconInfo.hbmMask); return 0; // Success @@ -279,7 +268,7 @@ static int GetIconData(HICON icon, BYTE** data, int* size) #define VER30 0x00030000 -HICON IconSourceItem_GetIcon(IconSourceItem* item) +HICON IconSourceItem_GetIcon(IconSourceItem *item) { if (item->icon) { item->icon_ref_count++; @@ -302,22 +291,23 @@ HICON IconSourceItem_GetIcon(IconSourceItem* item) return item->icon; } -int IconSourceItem_ReleaseIcon(IconSourceItem* item) +int IconSourceItem_ReleaseIcon(IconSourceItem *item) { - if (item && item->icon_ref_count) { - item->icon_ref_count--; - if (!item->icon_ref_count) { - if (!item->icon_size) - if (GetIconData(item->icon, &item->icon_data, &item->icon_size)) - item->icon_size = 0; // Failure - SafeDestroyIcon(&item->icon); - } - return 0; // Success + if (item == 0 || item->icon_ref_count == 0) + return 1; // Failure + + item->icon_ref_count--; + if (!item->icon_ref_count) { + if (!item->icon_size) + if (GetIconData(item->icon, &item->icon_data, &item->icon_size)) + item->icon_size = 0; // Failure + SafeDestroyIcon(item->icon); } - return 1; // Failure + + return 0; // Success } -IconSourceItem* GetIconSourceItem(const TCHAR* file, int indx, int cxIcon, int cyIcon) +IconSourceItem* GetIconSourceItem(const TCHAR *file, int indx, int cxIcon, int cyIcon) { if (!file) return NULL; @@ -326,7 +316,7 @@ IconSourceItem* GetIconSourceItem(const TCHAR* file, int indx, int cxIcon, int c IconSourceItem key = { r_file, indx, cxIcon, cyIcon }; int ix; if ((ix = iconSourceList.getIndex(&key)) != -1) { - IconSourceFile_Release(&r_file); + IconSourceFile_Release(r_file); iconSourceList[ix]->ref_count++; return iconSourceList[ix]; } @@ -363,16 +353,11 @@ IconSourceItem* GetIconSourceItemFromPath(const TCHAR* path, int cxIcon, int cyI IconSourceItem* CreateStaticIconSourceItem(int cxIcon, int cyIcon) { - TCHAR sourceName[MAX_PATH]; - IconSourceFile key = { sourceName }; - - int i = 0; - do { // find new unique name - mir_sntprintf(sourceName, _countof(sourceName), _T("*StaticIcon_%d"), i++); - } while (iconSourceFileList.getIndex(&key) != -1); + TCHAR tszName[100]; + mir_sntprintf(tszName, _countof(tszName), _T("*StaticIcon_%d"), iStaticCount++); IconSourceItem* newItem = (IconSourceItem*)mir_calloc(sizeof(IconSourceItem)); - newItem->file = IconSourceFile_Get(sourceName, false); + newItem->file = IconSourceFile_Get(tszName, false); newItem->indx = 0; newItem->ref_count = 1; newItem->cx = cxIcon; @@ -382,23 +367,23 @@ IconSourceItem* CreateStaticIconSourceItem(int cxIcon, int cyIcon) return newItem; } -int IconSourceItem_Release(IconSourceItem* &pitem) +int IconSourceItem_Release(IconSourceItem* &pItem) { - if (pitem == NULL || pitem->ref_count == 0) + if (pItem == NULL || pItem->ref_count == 0) return 1; - pitem->ref_count--; - if (!pitem->ref_count) { + pItem->ref_count--; + if (!pItem->ref_count) { int indx; - if ((indx = iconSourceList.getIndex(pitem)) != -1) { - IconSourceFile_Release(&pitem->file); - SafeDestroyIcon(&pitem->icon); - SAFE_FREE((void**)&pitem->icon_data); + if ((indx = iconSourceList.getIndex(pItem)) != -1) { + IconSourceFile_Release(pItem->file); + SafeDestroyIcon(pItem->icon); + mir_free(pItem->icon_data); iconSourceList.remove(indx); - SAFE_FREE((void**)&pitem); + mir_free(pItem); } } - pitem = NULL; + pItem = NULL; return 0; } @@ -427,7 +412,7 @@ static SectionItem* IcoLib_AddSection(TCHAR *sectionName, BOOL create_new) return NULL; } -static void IcoLib_RemoveSection(SectionItem* section) +static void IcoLib_RemoveSection(SectionItem *section) { if (!section) return; @@ -435,13 +420,13 @@ static void IcoLib_RemoveSection(SectionItem* section) int indx; if ((indx = sectionList.getIndex(section)) != -1) { sectionList.remove(indx); - SAFE_FREE((void**)§ion->name); - SAFE_FREE((void**)§ion); + mir_free(section->name); + mir_free(section); bNeedRebuild = TRUE; } } -IcolibItem* IcoLib_FindIcon(const char* pszIconName) +IcolibItem* IcoLib_FindIcon(const char *pszIconName) { int indx = iconList.getIndex((IcolibItem*)&pszIconName); return (indx != -1) ? iconList[indx] : 0; @@ -471,23 +456,23 @@ IcolibItem* IcoLib_FindHIcon(HICON hIcon, bool &big) return NULL; } -static void IcoLib_FreeIcon(IcolibItem* icon) +static void IcoLib_FreeIcon(IcolibItem *pItem) { - if (!icon) return; + if (!pItem) return; - SAFE_FREE((void**)&icon->name); - SAFE_FREE((void**)&icon->description); - SAFE_FREE((void**)&icon->default_file); - SAFE_FREE((void**)&icon->temp_file); - if (icon->section) { - if (!--icon->section->ref_count) - IcoLib_RemoveSection(icon->section); - icon->section = NULL; + mir_free(pItem->name); + mir_free(pItem->description); + mir_free(pItem->temp_file); + if (pItem->section) { + if (!--pItem->section->ref_count) + IcoLib_RemoveSection(pItem->section); + pItem->section = NULL; } - IconSourceItem_Release(icon->source_small); - IconSourceItem_Release(icon->source_big); - IconSourceItem_Release(icon->default_icon); - SafeDestroyIcon(&icon->temp_icon); + IconSourceFile_Release(pItem->default_file); + IconSourceItem_Release(pItem->source_small); + IconSourceItem_Release(pItem->source_big); + IconSourceItem_Release(pItem->default_icon); + SafeDestroyIcon(pItem->temp_icon); } ///////////////////////////////////////////////////////////////////////////////////////// @@ -495,9 +480,6 @@ static void IcoLib_FreeIcon(IcolibItem* icon) MIR_APP_DLL(HANDLE) IcoLib_AddIcon(SKINICONDESC *sid, int hLangpack) { - bool utf = (sid->flags & SIDF_UNICODE) != 0; - bool utf_path = (sid->flags & SIDF_PATH_UNICODE) != 0; - mir_cslock lck(csIconList); IcolibItem *item = IcoLib_FindIcon(sid->pszName); @@ -509,15 +491,13 @@ MIR_APP_DLL(HANDLE) IcoLib_AddIcon(SKINICONDESC *sid, int hLangpack) else IcoLib_FreeIcon(item); item->name = mir_strdup(sid->pszName); - if (utf) { + if (sid->flags & SIDF_UNICODE) { item->description = mir_u2t(sid->description.w); item->section = IcoLib_AddSection(sid->section.w, TRUE); } else { item->description = mir_a2t(sid->description.a); - WCHAR *pwszSection = sid->section.a ? mir_a2u(sid->section.a) : NULL; - item->section = IcoLib_AddSection(pwszSection, TRUE); - SAFE_FREE((void**)&pwszSection); + item->section = IcoLib_AddSection(_A2T(sid->section.a), TRUE); } if (item->section) { @@ -527,12 +507,10 @@ MIR_APP_DLL(HANDLE) IcoLib_AddIcon(SKINICONDESC *sid, int hLangpack) else item->orderID = 0; if (sid->defaultFile.a) { - WCHAR fileFull[MAX_PATH]; - if (utf_path) - PathToAbsoluteT(sid->defaultFile.w, fileFull); + if (sid->flags & SIDF_PATH_UNICODE) + item->default_file = IconSourceFile_Get(sid->defaultFile.w, true); else - PathToAbsoluteT(_A2T(sid->defaultFile.a), fileFull); - item->default_file = mir_wstrdup(fileFull); + item->default_file = IconSourceFile_Get(_A2T(sid->defaultFile.a), true); } item->default_indx = sid->iDefaultIndex; @@ -542,7 +520,7 @@ MIR_APP_DLL(HANDLE) IcoLib_AddIcon(SKINICONDESC *sid, int hLangpack) if (sid->hDefaultIcon) { bool big; - IcolibItem* def_item = IcoLib_FindHIcon(sid->hDefaultIcon, big); + IcolibItem *def_item = IcoLib_FindHIcon(sid->hDefaultIcon, big); if (def_item) { item->default_icon = big ? def_item->source_big : def_item->source_small; item->default_icon->ref_count++; @@ -608,7 +586,7 @@ static int IcoLib_RemoveIcon_Internal(int i) IcolibItem *item = iconList[i]; IcoLib_FreeIcon(item); iconList.remove(i); - SAFE_FREE((void**)&item); + mir_free(item); return 0; } @@ -641,7 +619,7 @@ void KillModuleIcons(int hLangpack) if (item->hLangpack == hLangpack) { IcoLib_FreeIcon(item); iconList.remove(i); - SAFE_FREE((void**)&item); + mir_free(item); } } } @@ -649,7 +627,7 @@ void KillModuleIcons(int hLangpack) ///////////////////////////////////////////////////////////////////////////////////////// // IconItem_GetDefaultIcon -HICON IconItem_GetDefaultIcon(IcolibItem* item, bool big) +HICON IconItem_GetDefaultIcon(IcolibItem *item, bool big) { HICON hIcon = NULL; @@ -663,7 +641,7 @@ HICON IconItem_GetDefaultIcon(IcolibItem* item, bool big) if (!hIcon && item->default_file) { int cx = item->cx ? item->cx : (big ? g_iIconX : g_iIconSX); int cy = item->cy ? item->cy : (big ? g_iIconY : g_iIconSY); - IconSourceItem *def_icon = GetIconSourceItem(item->default_file, item->default_indx, cx, cy); + IconSourceItem *def_icon = GetIconSourceItem(item->default_file->file, item->default_indx, cx, cy); if (big) { if (def_icon != item->source_big) { IconSourceItem_Release(item->source_big); @@ -742,7 +720,7 @@ MIR_APP_DLL(HICON) IcoLib_GetIcon(const char* pszIconName, bool big) return hIconBlank; mir_cslock lck(csIconList); - IcolibItem* item = IcoLib_FindIcon(pszIconName); + IcolibItem *item = IcoLib_FindIcon(pszIconName); return (item) ? IconItem_GetIcon(item, big) : NULL; } @@ -844,33 +822,33 @@ void UnloadIcoLibModule(void) DestroyHookableEvent(hIcons2ChangedEvent); for (int i = iconList.getCount() - 1; i >= 0; i--) { - IcolibItem* p = iconList[i]; + IcolibItem *p = iconList[i]; iconList.remove(i); IcoLib_FreeIcon(p); mir_free(p); } for (int i = iconSourceList.getCount() - 1; i >= 0; i--) { - IconSourceItem* p = iconSourceList[i]; + IconSourceItem *p = iconSourceList[i]; iconSourceList.remove(i); - IconSourceFile_Release(&p->file); - SafeDestroyIcon(&p->icon); - SAFE_FREE((void**)&p->icon_data); - SAFE_FREE((void**)&p); + IconSourceFile_Release(p->file); + SafeDestroyIcon(p->icon); + mir_free(p->icon_data); + mir_free(p); } for (int i = iconSourceFileList.getCount() - 1; i >= 0; i--) { - IconSourceFile* p = iconSourceFileList[i]; + IconSourceFile *p = iconSourceFileList[i]; iconSourceFileList.remove(i); - SAFE_FREE((void**)&p->file); - SAFE_FREE((void**)&p); + mir_free(p->file); + mir_free(p); } for (int i = 0; i < sectionList.getCount(); i++) { - SAFE_FREE((void**)§ionList[i]->name); + mir_free(sectionList[i]->name); mir_free(sectionList[i]); } - SafeDestroyIcon(&hIconBlank); + SafeDestroyIcon(hIconBlank); bModuleInitialized = false; } diff --git a/src/mir_app/src/menu_clist.cpp b/src/mir_app/src/menu_clist.cpp index b193727c4f..b3c70c5c4d 100644 --- a/src/mir_app/src/menu_clist.cpp +++ b/src/mir_app/src/menu_clist.cpp @@ -38,15 +38,6 @@ void InitTrayMenus(void); #define FIRSTCUSTOMMENUITEMID 30000 #define MENU_CUSTOMITEMMAIN 0x80000000 -//#define MENU_CUSTOMITEMCONTEXT 0x40000000 -//#define MENU_CUSTOMITEMFRAME 0x20000000 - -typedef struct { - WORD id; - int iconId; - TMO_MenuItem mi; -} - CListIntMenuItem, *lpCListIntMenuItem; // new menu sys int hMainMenuObject = 0, hContactMenuObject = 0, hStatusMenuObject = 0; diff --git a/src/mir_app/src/skin2opts.cpp b/src/mir_app/src/skin2opts.cpp index d0be27450d..e80712e55e 100644 --- a/src/mir_app/src/skin2opts.cpp +++ b/src/mir_app/src/skin2opts.cpp @@ -90,7 +90,7 @@ HICON IconItem_GetIcon_Preview(IcolibItem* item) if (!hIcon && item->default_file) { IconSourceItem_Release(item->default_icon); - item->default_icon = GetIconSourceItem(item->default_file, item->default_indx, item->cx, item->cy); + item->default_icon = GetIconSourceItem(item->default_file->file, item->default_indx, item->cx, item->cy); if (item->default_icon) { HICON hRefIcon = IconSourceItem_GetIcon(item->default_icon); if (hRefIcon) { @@ -132,8 +132,8 @@ static void LoadSectionIcons(TCHAR *filename, SectionItem* sectionActive) if (!hIcon) continue; - SAFE_FREE((void**)&item->temp_file); - SafeDestroyIcon(&item->temp_icon); + replaceStrT(item->temp_file, NULL); + SafeDestroyIcon(item->temp_icon); item->temp_file = mir_tstrdup(path); item->temp_icon = hIcon; @@ -169,8 +169,8 @@ static void UndoChanges(int iconIndx, int cmd) if (!item->temp_file && !item->temp_icon && item->temp_reset && cmd == ID_CANCELCHANGE) item->temp_reset = FALSE; else { - SAFE_FREE((void**)&item->temp_file); - SafeDestroyIcon(&item->temp_icon); + replaceStrT(item->temp_file, NULL); + SafeDestroyIcon(item->temp_icon); } if (cmd == ID_RESET) @@ -442,7 +442,7 @@ INT_PTR CALLBACK DlgProcIconImport(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM if (!(file = OpenFileDlg(GetParent(hwndDlg), str, TRUE))) break; SetDlgItemText(hwndDlg, IDC_ICONSET, file); - SAFE_FREE((void**)&file); + mir_free(file); } break; @@ -754,7 +754,7 @@ INT_PTR CALLBACK DlgProcIcoLibOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lvi.lParam = indx; ListView_InsertItem(hPreview, &lvi); if (hIcon != item->temp_icon) - SafeDestroyIcon(&hIcon); + SafeDestroyIcon(hIcon); } } } @@ -789,7 +789,8 @@ INT_PTR CALLBACK DlgProcIcoLibOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM if (hIcon) ImageList_ReplaceIcon(hIml, lvi.iImage, hIcon); - if (hIcon != iconList[lvi.lParam]->temp_icon) SafeDestroyIcon(&hIcon); + if (hIcon != iconList[lvi.lParam]->temp_icon) + SafeDestroyIcon(hIcon); } ListView_RedrawItems(hPreview, 0, count); } @@ -804,13 +805,12 @@ INT_PTR CALLBACK DlgProcIcoLibOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM ListView_GetItem(hPreview, &lvi); { mir_cslock lck(csIconList); - IcolibItem *item = iconList[lvi.lParam]; - SAFE_FREE((void**)&item->temp_file); - SafeDestroyIcon(&item->temp_icon); + IcolibItem *item = iconList[lvi.lParam]; + SafeDestroyIcon(item->temp_icon); TCHAR *path = (TCHAR*)lParam; - item->temp_file = mir_tstrdup(path); + replaceStrT(item->temp_file, path); item->temp_icon = (HICON)ExtractIconFromPath(path, item->cx, item->cy); item->temp_reset = FALSE; } @@ -836,7 +836,7 @@ INT_PTR CALLBACK DlgProcIcoLibOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM TCHAR filename[MAX_PATH]; PathToRelativeT(file, filename); - SAFE_FREE((void**)&file); + mir_free(file); MySetCursor(IDC_WAIT); LoadSubIcons(htv, filename, TreeView_GetSelection(htv)); @@ -909,7 +909,7 @@ INT_PTR CALLBACK DlgProcIcoLibOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM else if (item->temp_file) { db_set_ts(NULL, "SkinIcons", item->name, item->temp_file); IconSourceItem_Release(item->source_small); - SafeDestroyIcon(&item->temp_icon); + SafeDestroyIcon(item->temp_icon); } } } @@ -966,10 +966,7 @@ INT_PTR CALLBACK DlgProcIcoLibOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM } if (bNeedRebuild) { - { - mir_cslock lck(csIconList); - bNeedRebuild = FALSE; - } + bNeedRebuild = FALSE; SendMessage(hwndDlg, DM_REBUILD_CTREE, 0, 0); } } @@ -983,12 +980,12 @@ INT_PTR CALLBACK DlgProcIcoLibOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM for (int indx = 0; indx < iconList.getCount(); indx++) { IcolibItem *item = iconList[indx]; - SAFE_FREE((void**)&item->temp_file); - SafeDestroyIcon(&item->temp_icon); + replaceStrT(item->temp_file, NULL); + SafeDestroyIcon(item->temp_icon); } } - SAFE_FREE((void**)&dat); + mir_free(dat); break; } diff --git a/src/mir_app/src/skinicons.cpp b/src/mir_app/src/skinicons.cpp index 0891d0d1ce..8db8f9563b 100644 --- a/src/mir_app/src/skinicons.cpp +++ b/src/mir_app/src/skinicons.cpp @@ -270,9 +270,7 @@ MIR_APP_DLL(HICON) Skin_LoadProtoIcon(const char *szProto, int status, bool big) TCHAR szPath[MAX_PATH], szFullPath[MAX_PATH], *str; GetModuleFileName(NULL, szPath, _countof(szPath)); - // // Queried protocol isn't in list, adding - // TCHAR tszSection[MAX_PATH]; mir_sntprintf(tszSection, _countof(tszSection), _T(PROTOCOLS_PREFIX)_T("/%s"), pa->tszAccountName); @@ -301,10 +299,7 @@ MIR_APP_DLL(HICON) Skin_LoadProtoIcon(const char *szProto, int status, bool big) } } - // // Add global icons to list - // - int lowidx, highidx; if (caps2 == 0) lowidx = statusIndx, highidx = statusIndx + 1; -- cgit v1.2.3