Fix a crash when a display string is continued to the next line.
xdisp.c (set_cursor_from_row): When looping over a display string, don't overstep the end of the glyph row.
This commit is contained in:
parent
7482731ab5
commit
4fc8528305
2 changed files with 9 additions and 3 deletions
|
@ -1,3 +1,8 @@
|
|||
2010-04-27 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* xdisp.c (set_cursor_from_row): Fix a crash when a display string
|
||||
is continued to the next line.
|
||||
|
||||
2010-04-25 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* xdisp.c (set_cursor_from_row): Don't return zero if cursor was
|
||||
|
|
|
@ -13015,7 +13015,8 @@ set_cursor_from_row (w, row, matrix, delta, delta_bytes, dy, dvpos)
|
|||
|
||||
cursor = glyph;
|
||||
for (glyph += incr;
|
||||
EQ (glyph->object, str);
|
||||
(row->reversed_p ? glyph > stop : glyph < stop)
|
||||
&& EQ (glyph->object, str);
|
||||
glyph += incr)
|
||||
{
|
||||
Lisp_Object cprop;
|
||||
|
@ -13056,8 +13057,8 @@ set_cursor_from_row (w, row, matrix, delta, delta_bytes, dy, dvpos)
|
|||
/* If we reached the end of the line, and END was from a string,
|
||||
the cursor is not on this line. */
|
||||
if (cursor == NULL
|
||||
&& glyph == end
|
||||
&& STRINGP ((glyph - incr)->object)
|
||||
&& (row->reversed_p ? glyph <= end : glyph >= end)
|
||||
&& STRINGP (end->object)
|
||||
&& row->continued_p)
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue