[TASKMGR]

fix some memory leaks

svn path=/trunk/; revision=67175
This commit is contained in:
Christoph von Wittich 2015-04-12 15:45:40 +00:00
parent 6c366758de
commit 24af2268eb
2 changed files with 21 additions and 0 deletions

View file

@ -106,6 +106,10 @@ void PerfDataUninitialize(void)
pCur = pCur->Flink;
HeapFree(GetProcessHeap(), 0, pEntry);
}
if (SystemProcessorTimeInfo) {
HeapFree(GetProcessHeap(), 0, SystemProcessorTimeInfo);
}
}
static void SidToUserName(PSID Sid, LPWSTR szBuffer, DWORD BufferSize)

View file

@ -59,6 +59,22 @@ BOOL PerfDataGetText(ULONG Index, ULONG ColumnIndex, LPTSTR lpText, ULONG nMaxCo
DWORD WINAPI ProcessPageRefreshThread(void *lpParameter);
int ProcessRunning(ULONG ProcessId);
void Cleanup(void)
{
int i;
LV_ITEM item;
LPPROCESS_PAGE_LIST_ITEM pData;
for (i = 0; i < ListView_GetItemCount(hProcessPageListCtrl); i++)
{
memset(&item, 0, sizeof(LV_ITEM));
item.mask = LVIF_PARAM;
item.iItem = i;
(void)ListView_GetItem(hProcessPageListCtrl, &item);
pData = (LPPROCESS_PAGE_LIST_ITEM)item.lParam;
HeapFree(GetProcessHeap(), 0, pData);
}
}
int ProcGetIndexByProcessId(DWORD dwProcessId)
{
int i;
@ -170,6 +186,7 @@ ProcessPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
EndLocalThread(&hProcessThread, dwProcessThread);
#endif
SaveColumnSettings();
Cleanup();
break;
case WM_COMMAND: