summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2022-06-24 14:14:41 +0300
committerEli Zaretskii <eliz@gnu.org>2022-06-24 14:14:41 +0300
commit391acd91344c833d94d89b2862b272d08643c068 (patch)
treea979b26e2eeea47c31fd6d68e2e0dd6b313a61b3 /src
parent66669c5c200d00f7fc4b112f3c418a3796915fee (diff)
downloademacs-391acd91344c833d94d89b2862b272d08643c068.tar.gz
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)
Diffstat (limited to 'src')
-rw-r--r--src/xdisp.c5
1 files changed, 5 insertions, 0 deletions
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 *) "<unknown>");
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);
}
}