Fix: Client log dialog stops updating past edit-control default limit
The Win32 EDIT control caps text at ~32K/64K chars by default, so the client log dialog silently stopped accepting appends long before the 512KB truncation logic could run. Call SetLimitText(0) in both CClientLog and CActivityDialog to lift the cap. Also unify newline handling in Logger: each entry now ends with exactly one '\n' at the source, so the in-memory ring-buffer dump (used by the TCP log query) splits into lines correctly instead of relying on every Mprintf caller ending its format with '\n'. writeToFile drops the extra std::endl accordingly. Additionally fix a CFont leak in CClientLog::OnInitDialog by moving the font to a member. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -39,6 +39,8 @@ BOOL CActivityDialog::OnInitDialog()
|
||||
m_editLog.SetFont(&m_font);
|
||||
// 重建为 Unicode 编辑框:这是 ✻/✦ 能正确显示的关键。重建时已保留上面的字体。
|
||||
RebuildEdit(m_editLog);
|
||||
// 解除 EDIT 控件默认约 64KB 长度上限,否则大快照经 SetWindowTextW 会被静默截断。
|
||||
m_editLog.SetLimitText(0);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user