mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-15 09:47:20 +00:00
Avoid infloop in redisplay with tall images
* src/xdisp.c (try_scrolling): Prevent an infloop when scrolling down near ZV. (Bug#20808) Call bidi_unshelve_cache to avoid memory leaks. Use IT_CHARPOS instead of CHARPOS.
This commit is contained in:
parent
d6dd70b064
commit
4e53d722ae
@ -15094,11 +15094,13 @@ try_scrolling (Lisp_Object window, bool just_this_one_p,
|
||||
RESTORE_IT (&it, &it, it1data);
|
||||
move_it_by_lines (&it, 1);
|
||||
SAVE_IT (it1, it, it1data);
|
||||
} while (line_bottom_y (&it1) - start_y < amount_to_scroll);
|
||||
} while (IT_CHARPOS (it) < ZV
|
||||
&& line_bottom_y (&it1) - start_y < amount_to_scroll);
|
||||
bidi_unshelve_cache (it1data, true);
|
||||
}
|
||||
|
||||
/* If STARTP is unchanged, move it down another screen line. */
|
||||
if (CHARPOS (it.current.pos) == CHARPOS (startp))
|
||||
if (IT_CHARPOS (it) == CHARPOS (startp))
|
||||
move_it_by_lines (&it, 1);
|
||||
startp = it.current.pos;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user