diff src/nsterm.m @ 109296:f6f0d450d542

Fix ghost buffer boundary indicators in fringes (Bug#5634, Bug#6325). * dispextern.h (FRINGE_HEIGHT_BITS): New define. (struct glyph_row): New members left_fringe_offset and right_fringe_offset. * xterm.c (x_draw_fringe_bitmap): Don't clip bottom aligned bitmap specially. * w32term.c (w32_draw_fringe_bitmap): Likewise. * nsterm.m (ns_draw_fringe_bitmap): Likewise. * fringe.c (draw_fringe_bitmap_1): Don't clip bitmap here. Take account of bitmap offset. (draw_window_fringes): Take account of window vscroll. (update_window_fringes): Likewise. Extend top-aligned top indicator or bottom-aligned bottom indicator to adjacent rows if it doesn't fit in one row. Don't set redraw_fringe_bitmaps_p outside row comparison. Set left_fringe_offset and right_fringe_offset (Bug#5634, Bug#6325).
author YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
date Mon, 05 Jul 2010 18:58:31 +0900
parents 5860ffa0c5d9
children 60516122d066 b6cf32bb07a1
line wrap: on
line diff
--- a/src/nsterm.m	Sun Jul 04 02:59:56 2010 +0200
+++ b/src/nsterm.m	Mon Jul 05 18:58:31 2010 +0900
@@ -2177,20 +2177,7 @@
 
   /* Must clip because of partially visible lines.  */
   rowY = WINDOW_TO_FRAME_PIXEL_Y (w, row->y);
-  if (p->y < rowY)
-    {
-      /* Adjust position of "bottom aligned" bitmap on partially
-	 visible last row.  */
-      int oldY = row->y;
-      int oldVH = row->visible_height;
-      row->visible_height = p->h;
-      row->y -= rowY - p->y;
-      ns_clip_to_row (w, row, -1, NO);
-      row->y = oldY;
-      row->visible_height = oldVH;
-    }
-  else
-    ns_clip_to_row (w, row, -1, YES);
+  ns_clip_to_row (w, row, -1, YES);
 
   if (p->bx >= 0 && !p->overlay_p)
     {