Mercurial > emacs
diff src/w32term.c @ 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 | 1d1d5d9bd884 |
| children | 60516122d066 734b2470f93c |
line wrap: on
line diff
--- a/src/w32term.c Sun Jul 04 02:59:56 2010 +0200 +++ b/src/w32term.c Mon Jul 05 18:58:31 2010 +0900 @@ -761,7 +761,6 @@ struct frame *f = XFRAME (WINDOW_FRAME (w)); HDC hdc; struct face *face = p->face; - int rowY; hdc = get_frame_dc (f); @@ -820,21 +819,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; - w32_clip_to_row (w, row, -1, hdc); - row->y = oldY; - row->visible_height = oldVH; - } - else - w32_clip_to_row (w, row, -1, hdc); + w32_clip_to_row (w, row, -1, hdc); if (p->which && p->which < max_fringe_bmp) {
