From: YAMAMOTO Mitsuharu Date: Tue, 19 Aug 2014 00:51:33 +0000 (+0900) Subject: * xdisp.c (erase_phys_cursor): Fix confusion between window-relative X-Git-Tag: emacs-25.0.90~2635^2~679^2~457 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=8de8f9b5cc49d05427b659a705c6fbd08e4f168b;p=emacs.git * xdisp.c (erase_phys_cursor): Fix confusion between window-relative and text area-relative x-coordinates. --- diff --git a/src/ChangeLog b/src/ChangeLog index 3d04357af59..0b9729d3833 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2014-08-19 YAMAMOTO Mitsuharu + + * xdisp.c (erase_phys_cursor): Fix confusion between window-relative + and text area-relative x-coordinates. + 2014-08-17 Eli Zaretskii Avoid overwriting the reversed_p flags in the glyph matrices when diff --git a/src/xdisp.c b/src/xdisp.c index e7c3e922cb9..39e70717143 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -27370,7 +27370,7 @@ erase_phys_cursor (struct window *w) /* Maybe clear the display under the cursor. */ if (w->phys_cursor_type == HOLLOW_BOX_CURSOR) { - int x, y, left_x; + int x, y; int header_line_height = WINDOW_HEADER_LINE_HEIGHT (w); int width; @@ -27379,13 +27379,15 @@ erase_phys_cursor (struct window *w) goto mark_cursor_off; width = cursor_glyph->pixel_width; - left_x = window_box_left_offset (w, TEXT_AREA); x = w->phys_cursor.x; - if (x < left_x) - width -= left_x - x; + if (x < 0) + { + width += x; + x = 0; + } width = min (width, window_box_width (w, TEXT_AREA) - x); y = WINDOW_TO_FRAME_PIXEL_Y (w, max (header_line_height, cursor_row->y)); - x = WINDOW_TEXT_TO_FRAME_PIXEL_X (w, max (x, left_x)); + x = WINDOW_TEXT_TO_FRAME_PIXEL_X (w, x); if (width > 0) FRAME_RIF (f)->clear_frame_area (f, x, y, width, cursor_row->visible_height);