From 391acd91344c833d94d89b2862b272d08643c068 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Fri, 24 Jun 2022 14:14:41 +0300 Subject: [PATCH] Fix assertion violation when 'max-redisplay-ticks' is set too low * src/xdisp.c (update_redisplay_ticks): Disable 'scrolling_window' optimization in 'update_window' when redisplay of a window is aborted. (Bug#56184) --- src/xdisp.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/xdisp.c b/src/xdisp.c index 2e3711a20d8..c37a58ab4e1 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -17250,6 +17250,11 @@ update_redisplay_ticks (int ticks, struct window *w) : (char *) ""); windows_or_buffers_changed = 177; + /* scrolling_window depends too much on the glyph matrices being + correct, and we cannot guarantee that if we abort the + redisplay of this window. */ + if (w && w->desired_matrix) + w->desired_matrix->no_scrolling_p = true; error ("Window showing buffer %s takes too long to redisplay", bufname); } } -- 2.39.2