From e5156cddbf93f7c55868f5fb80a021b950f4a2c7 Mon Sep 17 00:00:00 2001
From: Přemysl Eric Janouch
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-70-g09d2