]> code.delx.au - gnu-emacs/commitdiff
* w32term.c (x_draw_glyph_string): Use the glyph string's width
authorChong Yidong <cyd@stupidchicken.com>
Mon, 22 Jun 2009 02:01:56 +0000 (02:01 +0000)
committerChong Yidong <cyd@stupidchicken.com>
Mon, 22 Jun 2009 02:01:56 +0000 (02:01 +0000)
rather than its background_width for drawing the overline and
underline (Bug#489).

* xterm.c (x_draw_glyph_string): Use the glyph string's width
rather than its background_width for drawing the overline and
underline (Bug#489).

src/ChangeLog
src/w32term.c
src/xterm.c

index 5ffadfb9f86912d22cc63a11a4640514a97a62b6..c6378077d5c3d96010a5c3f5980851765546f04a 100644 (file)
@@ -1,5 +1,13 @@
 2009-06-22  Chong Yidong  <cyd@stupidchicken.com>
 
+       * w32term.c (x_draw_glyph_string): Use the glyph string's width
+       rather than its background_width for drawing the overline and
+       underline (Bug#489).
+
+       * xterm.c (x_draw_glyph_string): Use the glyph string's width
+       rather than its background_width for drawing the overline and
+       underline (Bug#489).
+
        * xdisp.c (Qbefore_string, Qafter_string): Add externs.
        (load_overlay_strings): Remove externs.
        (fast_find_position): Function deleted.
index f96a60d777f856f36fdaee41f57773059c713254..209e86edc8b72b5bab1e71af912a17fb11f3b911 100644 (file)
@@ -2401,12 +2401,12 @@ x_draw_glyph_string (s)
           if (s->face->underline_defaulted_p)
             {
               w32_fill_area (s->f, s->hdc, s->gc->foreground, s->x,
-                             y, s->background_width, 1);
+                             y, s->width, 1);
             }
           else
             {
               w32_fill_area (s->f, s->hdc, s->face->underline_color, s->x,
-                             y, s->background_width, 1);
+                             y, s->width, 1);
             }
         }
       /* Draw overline.  */
@@ -2417,12 +2417,12 @@ x_draw_glyph_string (s)
           if (s->face->overline_color_defaulted_p)
             {
               w32_fill_area (s->f, s->hdc, s->gc->foreground, s->x,
-                             s->y + dy, s->background_width, h);
+                             s->y + dy, s->width, h);
             }
           else
             {
               w32_fill_area (s->f, s->hdc, s->face->overline_color, s->x,
-                             s->y + dy, s->background_width, h);
+                             s->y + dy, s->width, h);
             }
         }
 
index e3d4611523e7a10bea1f976745b633753ba46523..f09a02c2f04909712adc4ecff5a6dfaa08e7f127 100644 (file)
@@ -2793,14 +2793,14 @@ x_draw_glyph_string (s)
          y = s->ybase + position;
          if (s->face->underline_defaulted_p)
            XFillRectangle (s->display, s->window, s->gc,
-                           s->x, y, s->background_width, thickness);
+                           s->x, y, s->width, thickness);
          else
            {
              XGCValues xgcv;
              XGetGCValues (s->display, s->gc, GCForeground, &xgcv);
              XSetForeground (s->display, s->gc, s->face->underline_color);
              XFillRectangle (s->display, s->window, s->gc,
-                             s->x, y, s->background_width, thickness);
+                             s->x, y, s->width, thickness);
              XSetForeground (s->display, s->gc, xgcv.foreground);
            }
        }
@@ -2812,14 +2812,14 @@ x_draw_glyph_string (s)
 
          if (s->face->overline_color_defaulted_p)
            XFillRectangle (s->display, s->window, s->gc, s->x, s->y + dy,
-                           s->background_width, h);
+                           s->width, h);
          else
            {
              XGCValues xgcv;
              XGetGCValues (s->display, s->gc, GCForeground, &xgcv);
              XSetForeground (s->display, s->gc, s->face->overline_color);
              XFillRectangle (s->display, s->window, s->gc, s->x, s->y + dy,
-                             s->background_width, h);
+                             s->width, h);
              XSetForeground (s->display, s->gc, xgcv.foreground);
            }
        }