From 5742be860f445f80c06c12846bd9ee0d44aadd30 Mon Sep 17 00:00:00 2001 From: YAMAMOTO Mitsuharu Date: Mon, 24 Dec 2007 03:01:28 +0000 Subject: [PATCH] (phys_cursor_in_rect_p): Check if cursor is in fringe area. --- src/ChangeLog | 4 ++++ src/xdisp.c | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+) 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) -- 2.39.2