From 2fd3e0b3b3ce3bb9689df267c122f7097f7ab3e1 Mon Sep 17 00:00:00 2001 From: Kalle Olavi Niemitalo Date: Thu, 10 Jan 2008 23:12:47 +0200 Subject: [PATCH] combined: Leave the screen_char attributes unchanged. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The previous code displayed the wrong attributes if the combining characters were at the end of an HTML link. For example: trickỹ more text second link (The characters in the first A element are "tricky" and U+0303 COMBINING TILDE.) Here, when the cursor was not at the first link, ELinks displayed the y-with-tilde cell as if it were not part of the link. This happened because ELinks had already changed schar->attr before set_line saw the space character after the link and flushed document->combi[]. --- src/document/html/renderer.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/document/html/renderer.c b/src/document/html/renderer.c index 31871814f..ed858bb01 100644 --- a/src/document/html/renderer.c +++ b/src/document/html/renderer.c @@ -492,10 +492,8 @@ good_char: if (document->comb_x != -1) { unicode_val_T prev = get_combined(document->combi, document->combi_length + 1); - if (prev != UCS_NO_CHAR) { - schar->data = prev; - copy_screen_chars(&POS(document->comb_x, document->comb_y), schar, 1); - } + if (prev != UCS_NO_CHAR) + POS(document->comb_x, document->comb_y).data = prev; } document->combi_length = 0; }