Author: hyperion
Date: Sun Jun 28 18:22:09 2009
New Revision: 41664
URL:
http://svn.reactos.org/svn/reactos?rev=41664&view=rev
Log:
modified base/applications/taskmgr/affinity.c
modified base/applications/taskmgr/debug.c
modified base/applications/taskmgr/endproc.c
modified base/applications/taskmgr/priority.c
Arch Blackmann has never heard of exotic features of the C language such as
"subroutines"
modified base/applications/taskmgr/dbgchnl.c
modified base/applications/taskmgr/procpage.c
modified base/applications/taskmgr/procpage.h
Did you know that Task Manager killed the wrong process when using the context menu?
Fixed by using a sophisticated "subroutine" that reads the process entry index
from the currently selected list item's client data, replacing the copy-pasted code
that used the index of the list entry as the process entry index (which only worked before
due to no sorting)
Save the sort column and order
modified base/applications/taskmgr/taskmgr.c
Sort by image name by default
Modified:
trunk/reactos/base/applications/taskmgr/affinity.c
trunk/reactos/base/applications/taskmgr/dbgchnl.c
trunk/reactos/base/applications/taskmgr/debug.c
trunk/reactos/base/applications/taskmgr/endproc.c
trunk/reactos/base/applications/taskmgr/priority.c
trunk/reactos/base/applications/taskmgr/procpage.c
trunk/reactos/base/applications/taskmgr/procpage.h
trunk/reactos/base/applications/taskmgr/taskmgr.c
Modified: trunk/reactos/base/applications/taskmgr/affinity.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/taskmgr/…
==============================================================================
--- trunk/reactos/base/applications/taskmgr/affinity.c [iso-8859-1] (original)
+++ trunk/reactos/base/applications/taskmgr/affinity.c [iso-8859-1] Sun Jun 28 18:22:09
2009
@@ -40,24 +40,15 @@
void ProcessPage_OnSetAffinity(void)
{
- LV_ITEM lvitem;
- ULONG Index;
DWORD dwProcessId;
WCHAR strErrorText[260];
WCHAR szTitle[256];
- for (Index=0; Index<(ULONG)ListView_GetItemCount(hProcessPageListCtrl); Index++)
{
- memset(&lvitem, 0, sizeof(LV_ITEM));
- lvitem.mask = LVIF_STATE;
- lvitem.stateMask = LVIS_SELECTED;
- lvitem.iItem = Index;
- (void)ListView_GetItem(hProcessPageListCtrl, &lvitem);
- if (lvitem.state & LVIS_SELECTED)
- break;
- }
- dwProcessId = PerfDataGetProcessId(Index);
- if ((ListView_GetSelectedCount(hProcessPageListCtrl) != 1) || (dwProcessId == 0))
+ dwProcessId = GetSelectedProcessId();
+
+ if (dwProcessId == 0)
return;
+
hProcessAffinityHandle =
OpenProcess(PROCESS_QUERY_INFORMATION|PROCESS_SET_INFORMATION, FALSE, dwProcessId);
if (!hProcessAffinityHandle) {
GetLastErrorText(strErrorText, sizeof(strErrorText) / sizeof(WCHAR));
Modified: trunk/reactos/base/applications/taskmgr/dbgchnl.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/taskmgr/…
==============================================================================
--- trunk/reactos/base/applications/taskmgr/dbgchnl.c [iso-8859-1] (original)
+++ trunk/reactos/base/applications/taskmgr/dbgchnl.c [iso-8859-1] Sun Jun 28 18:22:09
2009
@@ -40,33 +40,6 @@
return TRUE;
#endif
return FALSE;
-}
-
-static DWORD get_selected_pid(void)
-{
- LVITEM lvitem;
- ULONG Index;
- DWORD dwProcessId;
-
- for (Index=0; Index<(ULONG)ListView_GetItemCount(hProcessPageListCtrl); Index++)
- {
- memset(&lvitem, 0, sizeof(LVITEM));
-
- lvitem.mask = LVIF_STATE;
- lvitem.stateMask = LVIS_SELECTED;
- lvitem.iItem = Index;
-
- (void)ListView_GetItem(hProcessPageListCtrl, &lvitem);
-
- if (lvitem.state & LVIS_SELECTED)
- break;
- }
-
- dwProcessId = PerfDataGetProcessId(Index);
-
- if ((ListView_GetSelectedCount(hProcessPageListCtrl) != 1) || (dwProcessId == 0))
- return 0;
- return dwProcessId;
}
static int list_channel_CB(HANDLE hProcess, void* addr, WCHAR* buffer, void* user)
@@ -290,7 +263,7 @@
(void)ListView_DeleteAllItems(hChannelLV);
- hProcess = OpenProcess(PROCESS_VM_OPERATION | PROCESS_VM_READ, FALSE,
get_selected_pid());
+ hProcess = OpenProcess(PROCESS_VM_OPERATION | PROCESS_VM_READ, FALSE,
GetSelectedProcessId());
if (!hProcess) return; /* FIXME messagebox */
SendMessageW(hChannelLV, WM_SETREDRAW, FALSE, 0);
enum_channel(hProcess, list_channel_CB, (void*)hChannelLV, TRUE);
@@ -350,7 +323,7 @@
HANDLE hProcess;
NMITEMACTIVATE* nmia = (NMITEMACTIVATE*)lParam;
- hProcess = OpenProcess(PROCESS_VM_OPERATION | PROCESS_VM_READ |
PROCESS_VM_WRITE, FALSE, get_selected_pid());
+ hProcess = OpenProcess(PROCESS_VM_OPERATION | PROCESS_VM_READ |
PROCESS_VM_WRITE, FALSE, GetSelectedProcessId());
if (!hProcess) return; /* FIXME message box */
lhti.pt = nmia->ptAction;
hChannelLV = GetDlgItem(hDlg, IDC_DEBUG_CHANNELS_LIST);
Modified: trunk/reactos/base/applications/taskmgr/debug.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/taskmgr/…
==============================================================================
--- trunk/reactos/base/applications/taskmgr/debug.c [iso-8859-1] (original)
+++ trunk/reactos/base/applications/taskmgr/debug.c [iso-8859-1] Sun Jun 28 18:22:09 2009
@@ -25,8 +25,6 @@
void ProcessPage_OnDebug(void)
{
- LVITEM lvitem;
- ULONG Index;
DWORD dwProcessId;
WCHAR strErrorText[260];
HKEY hKey;
@@ -39,24 +37,9 @@
WCHAR szTemp[256];
WCHAR szTempA[256];
+ dwProcessId = GetSelectedProcessId();
- for (Index=0; Index<(ULONG)ListView_GetItemCount(hProcessPageListCtrl); Index++)
- {
- memset(&lvitem, 0, sizeof(LVITEM));
-
- lvitem.mask = LVIF_STATE;
- lvitem.stateMask = LVIS_SELECTED;
- lvitem.iItem = Index;
-
- (void)ListView_GetItem(hProcessPageListCtrl, &lvitem);
-
- if (lvitem.state & LVIS_SELECTED)
- break;
- }
-
- dwProcessId = PerfDataGetProcessId(Index);
-
- if ((ListView_GetSelectedCount(hProcessPageListCtrl) != 1) || (dwProcessId == 0))
+ if (dwProcessId == 0)
return;
LoadStringW(hInst, IDS_MSG_WARNINGDEBUG, szTemp, 256);
Modified: trunk/reactos/base/applications/taskmgr/endproc.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/taskmgr/…
==============================================================================
--- trunk/reactos/base/applications/taskmgr/endproc.c [iso-8859-1] (original)
+++ trunk/reactos/base/applications/taskmgr/endproc.c [iso-8859-1] Sun Jun 28 18:22:09
2009
@@ -25,30 +25,14 @@
void ProcessPage_OnEndProcess(void)
{
- LVITEM lvitem;
- ULONG Index;
DWORD dwProcessId;
HANDLE hProcess;
WCHAR szTitle[256];
WCHAR strErrorText[260];
- for (Index=0; Index<(ULONG)ListView_GetItemCount(hProcessPageListCtrl); Index++)
- {
- memset(&lvitem, 0, sizeof(LVITEM));
+ dwProcessId = GetSelectedProcessId();
- lvitem.mask = LVIF_STATE;
- lvitem.stateMask = LVIS_SELECTED;
- lvitem.iItem = Index;
-
- (void)ListView_GetItem(hProcessPageListCtrl, &lvitem);
-
- if (lvitem.state & LVIS_SELECTED)
- break;
- }
-
- dwProcessId = PerfDataGetProcessId(Index);
-
- if ((ListView_GetSelectedCount(hProcessPageListCtrl) != 1) || (dwProcessId == 0))
+ if (dwProcessId == 0)
return;
LoadStringW(hInst, IDS_MSG_WARNINGTERMINATING, strErrorText, 256);
@@ -78,30 +62,14 @@
void ProcessPage_OnEndProcessTree(void)
{
- LVITEM lvitem;
- ULONG Index;
DWORD dwProcessId;
HANDLE hProcess;
WCHAR szTitle[256];
WCHAR strErrorText[260];
- for (Index=0; Index<(ULONG)ListView_GetItemCount(hProcessPageListCtrl); Index++)
- {
- memset(&lvitem, 0, sizeof(LVITEM));
+ dwProcessId = GetSelectedProcessId();
- lvitem.mask = LVIF_STATE;
- lvitem.stateMask = LVIS_SELECTED;
- lvitem.iItem = Index;
-
- (void)ListView_GetItem(hProcessPageListCtrl, &lvitem);
-
- if (lvitem.state & LVIS_SELECTED)
- break;
- }
-
- dwProcessId = PerfDataGetProcessId(Index);
-
- if ((ListView_GetSelectedCount(hProcessPageListCtrl) != 1) || (dwProcessId == 0))
+ if (dwProcessId == 0)
return;
LoadStringW(hInst, IDS_MSG_WARNINGTERMINATING, strErrorText, 256);
Modified: trunk/reactos/base/applications/taskmgr/priority.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/taskmgr/…
==============================================================================
--- trunk/reactos/base/applications/taskmgr/priority.c [iso-8859-1] (original)
+++ trunk/reactos/base/applications/taskmgr/priority.c [iso-8859-1] Sun Jun 28 18:22:09
2009
@@ -25,30 +25,14 @@
void DoSetPriority(DWORD priority)
{
- LVITEM lvitem;
- ULONG Index;
DWORD dwProcessId;
HANDLE hProcess;
WCHAR szText[260];
WCHAR szTitle[256];
- for (Index=0; Index<(ULONG)ListView_GetItemCount(hProcessPageListCtrl); Index++)
- {
- ZeroMemory(&lvitem, sizeof(LVITEM));
+ dwProcessId = GetSelectedProcessId();
- lvitem.mask = LVIF_STATE;
- lvitem.stateMask = LVIS_SELECTED;
- lvitem.iItem = Index;
-
- (void)ListView_GetItem(hProcessPageListCtrl, &lvitem);
-
- if (lvitem.state & LVIS_SELECTED)
- break;
- }
-
- dwProcessId = PerfDataGetProcessId(Index);
-
- if ((ListView_GetSelectedCount(hProcessPageListCtrl) != 1) || (dwProcessId == 0))
+ if (dwProcessId == 0)
return;
LoadStringW(hInst, IDS_MSG_TASKMGRWARNING, szTitle, 256);
Modified: trunk/reactos/base/applications/taskmgr/procpage.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/taskmgr/…
==============================================================================
--- trunk/reactos/base/applications/taskmgr/procpage.c [iso-8859-1] (original)
+++ trunk/reactos/base/applications/taskmgr/procpage.c [iso-8859-1] Sun Jun 28 18:22:09
2009
@@ -40,10 +40,7 @@
static int nProcessPageWidth;
static int nProcessPageHeight;
-static BOOL bProcessSort = FALSE;
-static BOOL bProcessSortAscending = FALSE;
static HANDLE hProcessPageEvent = NULL; /* When this event becomes signaled then we
refresh the process list */
-static ULONG ProcessSortColumnIndex = 0;
int CALLBACK ProcessPageCompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM
lParamSort);
void AddProcess(ULONG Index);
@@ -55,6 +52,29 @@
BOOL PerfDataGetText(ULONG Index, ULONG ColumnIndex, LPTSTR lpText, int nMaxCount);
DWORD WINAPI ProcessPageRefreshThread(void *lpParameter);
+DWORD GetSelectedProcessId(void)
+{
+ int Index;
+ LVITEM lvitem;
+
+ if(ListView_GetSelectedCount(hProcessPageListCtrl) == 1)
+ {
+ Index = ListView_GetSelectionMark(hProcessPageListCtrl);
+
+ memset(&lvitem, 0, sizeof(LVITEM));
+
+ lvitem.mask = LVIF_PARAM;
+ lvitem.iItem = Index;
+
+ (void)ListView_GetItem(hProcessPageListCtrl, &lvitem);
+
+ if (lvitem.lParam)
+ return
PerfDataGetProcessId(((LPPROCESS_PAGE_LIST_ITEM)lvitem.lParam)->Index);
+ }
+
+ return 0;
+}
+
INT_PTR CALLBACK
ProcessPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
@@ -171,7 +191,6 @@
LPNMLISTVIEW pnmv;
NMLVDISPINFO* pnmdi;
LPNMHEADER pnmhdr;
- LVITEM lvitem;
ULONG Index;
ULONG ColumnIndex;
LPPROCESS_PAGE_LIST_ITEM pData;
@@ -207,26 +226,7 @@
case NM_RCLICK:
- for (Index=0; Index<(ULONG)ListView_GetItemCount(hProcessPageListCtrl);
Index++)
- {
- memset(&lvitem, 0, sizeof(LVITEM));
-
- lvitem.mask = LVIF_STATE;
- lvitem.stateMask = LVIS_SELECTED;
- lvitem.iItem = Index;
-
- (void)ListView_GetItem(hProcessPageListCtrl, &lvitem);
-
- if (lvitem.state & LVIS_SELECTED)
- break;
- }
-
- if ((ListView_GetSelectedCount(hProcessPageListCtrl) == 1) &&
- (PerfDataGetProcessId(Index) != 0))
- {
- ProcessPageShowContextMenu(PerfDataGetProcessId(Index));
- }
-
+ ProcessPageShowContextMenu(GetSelectedProcessId());
break;
}
@@ -237,10 +237,9 @@
{
case HDN_ITEMCLICK:
- ProcessSortColumnIndex = pnmhdr->iItem;
- bProcessSortAscending = !bProcessSortAscending;
+ TaskManagerSettings.SortColumn = ColumnDataHints[pnmhdr->iItem];
+ TaskManagerSettings.SortAscending = !TaskManagerSettings.SortAscending;
(void)ListView_SortItems(hProcessPageListCtrl, ProcessPageCompareFunc,
NULL);
- bProcessSort = TRUE;
break;
@@ -447,7 +446,7 @@
{
AddProcess(l);
}
- if (bProcessSort)
+ if (TaskManagerSettings.SortColumn != -1)
{
(void)ListView_SortItems(hProcessPageListCtrl, ProcessPageCompareFunc, NULL);
}
@@ -674,7 +673,6 @@
int ret = 0;
LPPROCESS_PAGE_LIST_ITEM Param1;
LPPROCESS_PAGE_LIST_ITEM Param2;
- ULONG ColumnIndex;
WCHAR text1[260];
WCHAR text2[260];
ULONG l1;
@@ -686,130 +684,129 @@
ULONGLONG ull1;
ULONGLONG ull2;
- if (bProcessSortAscending) {
+ if (TaskManagerSettings.SortAscending) {
Param1 = (LPPROCESS_PAGE_LIST_ITEM)lParam1;
Param2 = (LPPROCESS_PAGE_LIST_ITEM)lParam2;
} else {
Param1 = (LPPROCESS_PAGE_LIST_ITEM)lParam2;
Param2 = (LPPROCESS_PAGE_LIST_ITEM)lParam1;
}
- ColumnIndex = ProcessSortColumnIndex;
-
- if (ColumnDataHints[ColumnIndex] == COLUMN_IMAGENAME)
+
+ if (TaskManagerSettings.SortColumn == COLUMN_IMAGENAME)
{
PerfDataGetImageName(Param1->Index, text1, sizeof (text1) / sizeof (*text1));
PerfDataGetImageName(Param2->Index, text2, sizeof (text2) / sizeof (*text2));
ret = _wcsicmp(text1, text2);
}
- else if (ColumnDataHints[ColumnIndex] == COLUMN_PID)
+ else if (TaskManagerSettings.SortColumn == COLUMN_PID)
{
l1 = PerfDataGetProcessId(Param1->Index);
l2 = PerfDataGetProcessId(Param2->Index);
ret = CMP(l1, l2);
}
- else if (ColumnDataHints[ColumnIndex] == COLUMN_USERNAME)
+ else if (TaskManagerSettings.SortColumn == COLUMN_USERNAME)
{
PerfDataGetUserName(Param1->Index, text1, sizeof (text1) / sizeof (*text1));
PerfDataGetUserName(Param2->Index, text2, sizeof (text2) / sizeof (*text2));
ret = _wcsicmp(text1, text2);
}
- else if (ColumnDataHints[ColumnIndex] == COLUMN_SESSIONID)
+ else if (TaskManagerSettings.SortColumn == COLUMN_SESSIONID)
{
l1 = PerfDataGetSessionId(Param1->Index);
l2 = PerfDataGetSessionId(Param2->Index);
ret = CMP(l1, l2);
}
- else if (ColumnDataHints[ColumnIndex] == COLUMN_CPUUSAGE)
+ else if (TaskManagerSettings.SortColumn == COLUMN_CPUUSAGE)
{
l1 = PerfDataGetCPUUsage(Param1->Index);
l2 = PerfDataGetCPUUsage(Param2->Index);
ret = CMP(l1, l2);
}
- else if (ColumnDataHints[ColumnIndex] == COLUMN_CPUTIME)
+ else if (TaskManagerSettings.SortColumn == COLUMN_CPUTIME)
{
time1 = PerfDataGetCPUTime(Param1->Index);
time2 = PerfDataGetCPUTime(Param2->Index);
ret = largeintcmp(time1, time2);
}
- else if (ColumnDataHints[ColumnIndex] == COLUMN_MEMORYUSAGE)
+ else if (TaskManagerSettings.SortColumn == COLUMN_MEMORYUSAGE)
{
l1 = PerfDataGetWorkingSetSizeBytes(Param1->Index);
l2 = PerfDataGetWorkingSetSizeBytes(Param2->Index);
ret = CMP(l1, l2);
}
- else if (ColumnDataHints[ColumnIndex] == COLUMN_PEAKMEMORYUSAGE)
+ else if (TaskManagerSettings.SortColumn == COLUMN_PEAKMEMORYUSAGE)
{
l1 = PerfDataGetPeakWorkingSetSizeBytes(Param1->Index);
l2 = PerfDataGetPeakWorkingSetSizeBytes(Param2->Index);
ret = CMP(l1, l2);
}
- else if (ColumnDataHints[ColumnIndex] == COLUMN_MEMORYUSAGEDELTA)
+ else if (TaskManagerSettings.SortColumn == COLUMN_MEMORYUSAGEDELTA)
{
l1 = PerfDataGetWorkingSetSizeDelta(Param1->Index);
l2 = PerfDataGetWorkingSetSizeDelta(Param2->Index);
ret = CMP(l1, l2);
}
- else if (ColumnDataHints[ColumnIndex] == COLUMN_PAGEFAULTS)
+ else if (TaskManagerSettings.SortColumn == COLUMN_PAGEFAULTS)
{
l1 = PerfDataGetPageFaultCount(Param1->Index);
l2 = PerfDataGetPageFaultCount(Param2->Index);
ret = CMP(l1, l2);
}
- else if (ColumnDataHints[ColumnIndex] == COLUMN_PAGEFAULTSDELTA)
+ else if (TaskManagerSettings.SortColumn == COLUMN_PAGEFAULTSDELTA)
{
l1 = PerfDataGetPageFaultCountDelta(Param1->Index);
l2 = PerfDataGetPageFaultCountDelta(Param2->Index);
ret = CMP(l1, l2);
}
- else if (ColumnDataHints[ColumnIndex] == COLUMN_VIRTUALMEMORYSIZE)
+ else if (TaskManagerSettings.SortColumn == COLUMN_VIRTUALMEMORYSIZE)
{
l1 = PerfDataGetVirtualMemorySizeBytes(Param1->Index);
l2 = PerfDataGetVirtualMemorySizeBytes(Param2->Index);
ret = CMP(l1, l2);
}
- else if (ColumnDataHints[ColumnIndex] == COLUMN_PAGEDPOOL)
+ else if (TaskManagerSettings.SortColumn == COLUMN_PAGEDPOOL)
{
l1 = PerfDataGetPagedPoolUsagePages(Param1->Index);
l2 = PerfDataGetPagedPoolUsagePages(Param2->Index);
ret = CMP(l1, l2);
}
- else if (ColumnDataHints[ColumnIndex] == COLUMN_NONPAGEDPOOL)
+ else if (TaskManagerSettings.SortColumn == COLUMN_NONPAGEDPOOL)
{
l1 = PerfDataGetNonPagedPoolUsagePages(Param1->Index);
l2 = PerfDataGetNonPagedPoolUsagePages(Param2->Index);
ret = CMP(l1, l2);
}
- else if (ColumnDataHints[ColumnIndex] == COLUMN_BASEPRIORITY)
+ else if (TaskManagerSettings.SortColumn == COLUMN_BASEPRIORITY)
{
l1 = PerfDataGetBasePriority(Param1->Index);
l2 = PerfDataGetBasePriority(Param2->Index);
ret = CMP(l1, l2);
}
- else if (ColumnDataHints[ColumnIndex] == COLUMN_HANDLECOUNT)
+ else if (TaskManagerSettings.SortColumn == COLUMN_HANDLECOUNT)
{
l1 = PerfDataGetHandleCount(Param1->Index);
l2 = PerfDataGetHandleCount(Param2->Index);
ret = CMP(l1, l2);
}
- else if (ColumnDataHints[ColumnIndex] == COLUMN_THREADCOUNT)
+ else if (TaskManagerSettings.SortColumn == COLUMN_THREADCOUNT)
{
l1 = PerfDataGetThreadCount(Param1->Index);
l2 = PerfDataGetThreadCount(Param2->Index);
ret = CMP(l1, l2);
}
- else if (ColumnDataHints[ColumnIndex] == COLUMN_USEROBJECTS)
+ else if (TaskManagerSettings.SortColumn == COLUMN_USEROBJECTS)
{
l1 = PerfDataGetUSERObjectCount(Param1->Index);
l2 = PerfDataGetUSERObjectCount(Param2->Index);
ret = CMP(l1, l2);
}
- else if (ColumnDataHints[ColumnIndex] == COLUMN_GDIOBJECTS)
+ else if (TaskManagerSettings.SortColumn == COLUMN_GDIOBJECTS)
{
l1 = PerfDataGetGDIObjectCount(Param1->Index);
l2 = PerfDataGetGDIObjectCount(Param2->Index);
ret = CMP(l1, l2);
}
- else if (ColumnDataHints[ColumnIndex] == COLUMN_IOREADS)
+ else if (TaskManagerSettings.SortColumn == COLUMN_IOREADS)
{
PerfDataGetIOCounters(Param1->Index, &iocounters1);
PerfDataGetIOCounters(Param2->Index, &iocounters2);
@@ -817,7 +814,7 @@
ull2 = iocounters2.ReadOperationCount;
ret = CMP(ull1, ull2);
}
- else if (ColumnDataHints[ColumnIndex] == COLUMN_IOWRITES)
+ else if (TaskManagerSettings.SortColumn == COLUMN_IOWRITES)
{
PerfDataGetIOCounters(Param1->Index, &iocounters1);
PerfDataGetIOCounters(Param2->Index, &iocounters2);
@@ -825,7 +822,7 @@
ull2 = iocounters2.WriteOperationCount;
ret = CMP(ull1, ull2);
}
- else if (ColumnDataHints[ColumnIndex] == COLUMN_IOOTHER)
+ else if (TaskManagerSettings.SortColumn == COLUMN_IOOTHER)
{
PerfDataGetIOCounters(Param1->Index, &iocounters1);
PerfDataGetIOCounters(Param2->Index, &iocounters2);
@@ -833,7 +830,7 @@
ull2 = iocounters2.OtherOperationCount;
ret = CMP(ull1, ull2);
}
- else if (ColumnDataHints[ColumnIndex] == COLUMN_IOREADBYTES)
+ else if (TaskManagerSettings.SortColumn == COLUMN_IOREADBYTES)
{
PerfDataGetIOCounters(Param1->Index, &iocounters1);
PerfDataGetIOCounters(Param2->Index, &iocounters2);
@@ -841,7 +838,7 @@
ull2 = iocounters2.ReadTransferCount;
ret = CMP(ull1, ull2);
}
- else if (ColumnDataHints[ColumnIndex] == COLUMN_IOWRITEBYTES)
+ else if (TaskManagerSettings.SortColumn == COLUMN_IOWRITEBYTES)
{
PerfDataGetIOCounters(Param1->Index, &iocounters1);
PerfDataGetIOCounters(Param2->Index, &iocounters2);
@@ -849,7 +846,7 @@
ull2 = iocounters2.WriteTransferCount;
ret = CMP(ull1, ull2);
}
- else if (ColumnDataHints[ColumnIndex] == COLUMN_IOOTHERBYTES)
+ else if (TaskManagerSettings.SortColumn == COLUMN_IOOTHERBYTES)
{
PerfDataGetIOCounters(Param1->Index, &iocounters1);
PerfDataGetIOCounters(Param2->Index, &iocounters2);
Modified: trunk/reactos/base/applications/taskmgr/procpage.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/taskmgr/…
==============================================================================
--- trunk/reactos/base/applications/taskmgr/procpage.h [iso-8859-1] (original)
+++ trunk/reactos/base/applications/taskmgr/procpage.h [iso-8859-1] Sun Jun 28 18:22:09
2009
@@ -31,5 +31,6 @@
INT_PTR CALLBACK ProcessPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM
lParam);
void RefreshProcessPage(void);
+DWORD GetSelectedProcessId(void);
#endif /* __PROCESSPAGE_H */
Modified: trunk/reactos/base/applications/taskmgr/taskmgr.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/taskmgr/…
==============================================================================
--- trunk/reactos/base/applications/taskmgr/taskmgr.c [iso-8859-1] (original)
+++ trunk/reactos/base/applications/taskmgr/taskmgr.c [iso-8859-1] Sun Jun 28 18:22:09
2009
@@ -706,7 +706,7 @@
TaskManagerSettings.ColumnSizeArray[i] = ColumnPresets[i].size;
}
- TaskManagerSettings.SortColumn = 1;
+ TaskManagerSettings.SortColumn = COLUMN_IMAGENAME;
TaskManagerSettings.SortAscending = TRUE;
/* Performance page settings */