[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: address@hidden: Cursors in fringe not redrawn by expose events.]
From: |
YAMAMOTO Mitsuharu |
Subject: |
Re: address@hidden: Cursors in fringe not redrawn by expose events.] |
Date: |
Sat, 28 Apr 2007 20:02:31 +0900 |
User-agent: |
Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.8 (Shijō) APEL/10.6 Emacs/22.0.99 (sparc-sun-solaris2.8) MULE/5.0 (SAKAKI) |
>>>>> On Sat, 28 Apr 2007 00:07:28 -0400, Richard Stallman <address@hidden>
>>>>> said:
> I'd like someone to look at this bug.
I tried it for myself. Of course, I leave the decision to experts.
YAMAMOTO Mitsuharu
address@hidden
Index: src/xdisp.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/xdisp.c,v
retrieving revision 1.1149
diff -c -p -r1.1149 xdisp.c
*** src/xdisp.c 24 Apr 2007 01:32:41 -0000 1.1149
--- src/xdisp.c 28 Apr 2007 10:49:57 -0000
*************** phys_cursor_in_rect_p (w, r)
*** 23403,23408 ****
--- 23403,23426 ----
{
XRectangle cr, result;
struct glyph *cursor_glyph;
+ struct glyph_row *row;
+
+ if (w->phys_cursor.vpos >= 0
+ && w->phys_cursor.vpos < w->current_matrix->nrows
+ && (row = MATRIX_ROW (w->current_matrix, w->phys_cursor.vpos),
+ row->enabled_p)
+ && row->cursor_in_fringe_p)
+ {
+ /* Cursor is in the fringe. */
+ cr.x = window_box_right_offset (w,
+ (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS (w)
+ ? RIGHT_MARGIN_AREA
+ : TEXT_AREA));
+ cr.y = row->y;
+ cr.width = WINDOW_RIGHT_FRINGE_WIDTH (w);
+ cr.height = row->height;
+ return x_intersect_rectangles (&cr, r, &result);
+ }
cursor_glyph = get_phys_cursor_glyph (w);
if (cursor_glyph)