From e7e901003d8e41e742f04f08cb3d1995d0aa19b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20Javier=20Merino=20Mor=C3=A1n?= Date: Fri, 31 Dec 2021 18:22:02 +0100 Subject: [PATCH] Don't cross hard newlines looking for a base char Combining characters could end up combining with an unrelated character from the previous line. Now they just disappear, without messing with the display of unrelated characters. --- src/Screen.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Screen.cpp b/src/Screen.cpp index 4db270c9..8345a8e3 100644 --- a/src/Screen.cpp +++ b/src/Screen.cpp @@ -928,7 +928,7 @@ void Screen::displayCharacter(uint c) do { if (charToCombineWithX > 0) { --charToCombineWithX; - } else if (charToCombineWithY > 0) { // Try previous line + } else if (charToCombineWithY > 0 && _lineProperties.at(charToCombineWithY - 1) & LINE_WRAPPED) { // Try previous line --charToCombineWithY; charToCombineWithX = _screenLines.at(charToCombineWithY).length() - 1; } else {