Fix redisplay on a TTY after 'make-frame'
* src/xdisp.c (clear_garbaged_frames): Don't clear/redraw a garbaged TTY frame if it is not the selected frame. (Bug#22794)
This commit is contained in:
parent
95f5a4337c
commit
06a872b71d
1 changed files with 8 additions and 1 deletions
|
@ -11232,6 +11232,7 @@ clear_garbaged_frames (void)
|
||||||
if (frame_garbaged)
|
if (frame_garbaged)
|
||||||
{
|
{
|
||||||
Lisp_Object tail, frame;
|
Lisp_Object tail, frame;
|
||||||
|
struct frame *sf = SELECTED_FRAME ();
|
||||||
|
|
||||||
FOR_EACH_FRAME (tail, frame)
|
FOR_EACH_FRAME (tail, frame)
|
||||||
{
|
{
|
||||||
|
@ -11239,7 +11240,13 @@ clear_garbaged_frames (void)
|
||||||
|
|
||||||
if (FRAME_VISIBLE_P (f) && FRAME_GARBAGED_P (f))
|
if (FRAME_VISIBLE_P (f) && FRAME_GARBAGED_P (f))
|
||||||
{
|
{
|
||||||
if (f->resized_p)
|
if (f->resized_p
|
||||||
|
/* It makes no sense to redraw a non-selected TTY
|
||||||
|
frame, since that will actually clear the
|
||||||
|
selected frame, and might leave the selected
|
||||||
|
frame with corrupted display, if it happens not
|
||||||
|
to be marked garbaged. */
|
||||||
|
&& !(f != sf && (FRAME_TERMCAP_P (f) || FRAME_MSDOS_P (f))))
|
||||||
redraw_frame (f);
|
redraw_frame (f);
|
||||||
else
|
else
|
||||||
clear_current_matrices (f);
|
clear_current_matrices (f);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue