mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-27 07:37:33 +00:00
Avoid crashes due to bidi cache being reset during redisplay
If automatic character composition triggers GC, and 'garbage-collection-messages' are turned on, we could have the bidi cache reset while processing RTL text, which would then consistently crash. * src/xdisp.c (display_echo_area_1): Protect the bidi cache against changes inside 'try_window'.
This commit is contained in:
parent
f72bb4ce36
commit
41232e6797
@ -11539,7 +11539,9 @@ display_echo_area_1 (ptrdiff_t a1, Lisp_Object a2)
|
|||||||
/* Display. */
|
/* Display. */
|
||||||
clear_glyph_matrix (w->desired_matrix);
|
clear_glyph_matrix (w->desired_matrix);
|
||||||
XSETWINDOW (window, w);
|
XSETWINDOW (window, w);
|
||||||
|
void *itdata = bidi_shelve_cache ();
|
||||||
try_window (window, start, 0);
|
try_window (window, start, 0);
|
||||||
|
bidi_unshelve_cache (itdata, false);
|
||||||
|
|
||||||
return window_height_changed_p;
|
return window_height_changed_p;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user