From e5156cddbf93f7c55868f5fb80a021b950f4a2c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C5=99emysl=20Eric=20Janouch?= Date: Fri, 25 Aug 2023 17:31:32 +0200 Subject: xW: render leaked lines a bit more accurately There is no need to reset all text attributes, just the colour. --- xW/xW.cpp | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/xW/xW.cpp b/xW/xW.cpp index 980f825..b05eb37 100644 --- a/xW/xW.cpp +++ b/xW/xW.cpp @@ -678,14 +678,12 @@ buffer_print_line(std::vector::const_iterator begin, if (!prefix.empty()) richedit_replacesel(g.hwndBuffer, &pcf, prefix.c_str()); - std::wstring text; - for (const auto &it : line->items) - text += it.text; - - CHARFORMAT2 format = default_charformat(); - format.dwEffects &= ~CFE_AUTOCOLOR; - format.crTextColor = GetSysColor(COLOR_GRAYTEXT); - richedit_replacesel(g.hwndBuffer, &format, text.c_str()); + for (auto it : line->items) { + it.format.dwEffects &= ~CFE_AUTOCOLOR; + it.format.crTextColor = GetSysColor(COLOR_GRAYTEXT); + it.format.dwEffects |= CFE_AUTOBACKCOLOR; + richedit_replacesel(g.hwndBuffer, &it.format, it.text.c_str()); + } } else { if (!prefix.empty()) richedit_replacesel(g.hwndBuffer, &pcf, prefix.c_str()); -- cgit v1.2.3