From ec30a09a362faf939d5e0022654c30a0f8c90beb Mon Sep 17 00:00:00 2001 From: Fabienne Ducroquet Date: Tue, 12 Apr 2016 21:02:35 +0200 Subject: [PATCH] Bug 1139: Fix internal error: "bad split" with CONFIG_COMBINE A combining character sequence where the base character is a space remained recorded as a space although the initial space was replaced with an internal code corresponding to the combined character. This caused an internal error when ELinks tried to split the line at that place and did not find the space. Signed-off-by: Fabienne Ducroquet --- src/document/html/renderer.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/document/html/renderer.c b/src/document/html/renderer.c index e566ea5e..00971f7a 100644 --- a/src/document/html/renderer.c +++ b/src/document/html/renderer.c @@ -571,6 +571,11 @@ good_char: assert_comb_x_y_ok(document); if_assert_failed prev = UCS_NO_CHAR; + /* Make sure the combined character is not considered as + * a space. */ + if (x) + part->spaces[x - 1] = 0; + if (prev != UCS_NO_CHAR) document->data[document->comb_y] .chars[document->comb_x].data = prev; -- 2.11.4.GIT