From: YAMAMOTO Mitsuharu Date: Mon, 24 Dec 2007 03:01:28 +0000 (+0000) Subject: (phys_cursor_in_rect_p): Check if cursor is in fringe area. X-Git-Tag: emacs-pretest-22.1.90~228 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=5742be860f445f80c06c12846bd9ee0d44aadd30;p=emacs.git (phys_cursor_in_rect_p): Check if cursor is in fringe area. --- diff --git a/src/ChangeLog b/src/ChangeLog index fa3d8e78b05..2a8fc8e3f17 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2007-12-24 YAMAMOTO Mitsuharu + + * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area. + 2007-12-23 YAMAMOTO Mitsuharu * macmenu.c (fill_menubar) [MAC_OSX]: Add workaround for Mac OS X 10.5 diff --git a/src/xdisp.c b/src/xdisp.c index 13660f413e7..fa53a98556f 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -23481,6 +23481,24 @@ phys_cursor_in_rect_p (w, r) { 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)