From 2d7f224a22210f3ecb74e3d972e742ec57e06737 Mon Sep 17 00:00:00 2001 From: yuanyuanxiang <962914132@qq.com> Date: Thu, 13 Aug 2026 12:44:14 +0200 Subject: [PATCH] Fix: process list architecture column sorting was a no-op The process list stored the architecture string only in ItemData::Arch, leaving Data[3] (the architecture column) empty. Sorting by the architecture column therefore compared empty strings and did nothing. Populate Data[3] with the architecture value so the sort works. Co-Authored-By: deepseek-v4-pro --- server/2015Remote/SystemDlg.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server/2015Remote/SystemDlg.cpp b/server/2015Remote/SystemDlg.cpp index d0ac570..6296d2c 100644 --- a/server/2015Remote/SystemDlg.cpp +++ b/server/2015Remote/SystemDlg.cpp @@ -260,8 +260,8 @@ void CSystemDlg::ShowProcessList(void) m_ControlList.SetItemText(i, 1, str); m_ControlList.SetItemText(i, 2, szProcessFullPath); m_ControlList.SetItemText(i, 3, arr[1].empty() ? "N/A" : arr[1].c_str()); - // ItemData 为进程ID - auto data = new ItemData{ *PID, {arr[0].c_str(), str, szProcessFullPath}, arr[1].c_str() }; + // ItemData 为进程ID;Data[3] 需与第 4 列"架构"一致,否则按架构排序拿到空串而无意义 + auto data = new ItemData{ *PID, {arr[0].c_str(), str, szProcessFullPath, arr[1].empty() ? "N/A" : arr[1].c_str()}, arr[1].c_str() }; m_ControlList.SetItemData(i, DWORD_PTR(data)); dwOffset += sizeof(DWORD) + lstrlen(szExeFile) + lstrlen(szProcessFullPath) + 2; //跳过这个数据结构 进入下一个循环