]> code.delx.au - gnu-emacs/commitdiff
Prevent bar cursor overwriting next glyph (bug#16856)
authorAlan Third <alan@idiocy.org>
Sun, 17 Jul 2016 13:44:52 +0000 (14:44 +0100)
committerAlan Third <alan@idiocy.org>
Tue, 19 Jul 2016 19:24:34 +0000 (20:24 +0100)
* src/nsterm.m (ns_draw_window_cursor): Test glyph width vs cursor width
before setting final size.

src/nsterm.m

index a6160ed5b2a859faaf8f4efa831530a502e6286d..8da2ffe5b7fd2c02c1c46b6ca28afde16112c07c 100644 (file)
@@ -2861,7 +2861,10 @@ ns_draw_window_cursor (struct window *w, struct glyph_row *glyph_row,
     {
       if (cursor_width < 1)
        cursor_width = max (FRAME_CURSOR_WIDTH (f), 1);
-      w->phys_cursor_width = cursor_width;
+
+      /* The bar cursor should never be wider than the glyph. */
+      if (cursor_width < w->phys_cursor_width)
+        w->phys_cursor_width = cursor_width;
     }
   /* If we have an HBAR, "cursor_width" MAY specify height. */
   else if (cursor_type == HBAR_CURSOR)