From 4240dd3cef858e4431bb349925c755d793c560b3 Mon Sep 17 00:00:00 2001 From: YAMAMOTO Mitsuharu Date: Fri, 4 Jan 2013 11:05:33 +0900 Subject: [PATCH] Don't use previous underline thickness or position if previous underline type is underwave. --- src/ChangeLog | 5 +++++ src/nsterm.m | 1 + src/w32term.c | 3 ++- src/xterm.c | 3 ++- 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 8699dc12d9b..9e315700e8a 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -5,6 +5,11 @@ * xterm.c (x_draw_underwave): Make underwave look more triangular and also degrade gracefully for small fonts. (Bug#13000) + * nsterm.m (ns_draw_text_decoration): + * w32term.c (x_draw_glyph_string): + * xterm.c (x_draw_glyph_string): Don't use previous underline + thickness and position if previous underline type is underwave. + 2012-12-31 Glenn Morris * keymap.c (Fkey_description): Doc fix. (Bug#13323) diff --git a/src/nsterm.m b/src/nsterm.m index fce43587b11..a57e744d3c2 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -2634,6 +2634,7 @@ ns_draw_text_decoration (struct glyph_string *s, struct face *face, /* If the prev was underlined, match its appearance. */ if (s->prev && s->prev->face->underline_p + && s->prev->face->underline_type == FACE_UNDER_LINE && s->prev->underline_thickness > 0) { thickness = s->prev->underline_thickness; diff --git a/src/w32term.c b/src/w32term.c index 84afd8c300b..8b9414b9cfb 100644 --- a/src/w32term.c +++ b/src/w32term.c @@ -2464,7 +2464,8 @@ x_draw_glyph_string (struct glyph_string *s) unsigned long thickness, position; int y; - if (s->prev && s->prev->face->underline_p) + if (s->prev && s->prev->face->underline_p + && s->prev->face->underline_type == FACE_UNDER_LINE) { /* We use the same underline style as the previous one. */ thickness = s->prev->underline_thickness; diff --git a/src/xterm.c b/src/xterm.c index 32b19b5cffb..fb407c87611 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -2825,7 +2825,8 @@ x_draw_glyph_string (struct glyph_string *s) unsigned long thickness, position; int y; - if (s->prev && s->prev->face->underline_p) + if (s->prev && s->prev->face->underline_p + && s->prev->face->underline_type == FACE_UNDER_LINE) { /* We use the same underline style as the previous one. */ thickness = s->prev->underline_thickness; -- 2.39.5