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/affinity.c?rev=41664&r1=41663&r2=41664&view=diff
==============================================================================
--- 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/dbgchnl.c?rev=41664&r1=41663&r2=41664&view=diff
==============================================================================
--- 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/debug.c?rev=41664&r1=41663&r2=41664&view=diff
==============================================================================
--- 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/endproc.c?rev=41664&r1=41663&r2=41664&view=diff
==============================================================================
--- 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/priority.c?rev=41664&r1=41663&r2=41664&view=diff
==============================================================================
--- 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/procpage.c?rev=41664&r1=41663&r2=41664&view=diff
==============================================================================
--- 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/procpage.h?rev=41664&r1=41663&r2=41664&view=diff
==============================================================================
--- 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/taskmgr.c?rev=41664&r1=41663&r2=41664&view=diff
==============================================================================
--- 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 */

Reply via email to