aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEli Zaretskii2016-02-25 19:57:47 +0200
committerEli Zaretskii2016-02-25 19:57:47 +0200
commit06a872b71d6580e0699600844bb9526602437990 (patch)
tree4cbbaa56919f5e543c87722a7b1e4b0885e8a621 /src
parent95f5a4337c9092ab81d57d8ab5f341fc182d10cd (diff)
downloademacs-06a872b71d6580e0699600844bb9526602437990.tar.gz
emacs-06a872b71d6580e0699600844bb9526602437990.zip
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)
Diffstat (limited to 'src')
-rw-r--r--src/xdisp.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/xdisp.c b/src/xdisp.c
index fed58799eaa..dec99478ea5 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -11232,6 +11232,7 @@ clear_garbaged_frames (void)
11232 if (frame_garbaged) 11232 if (frame_garbaged)
11233 { 11233 {
11234 Lisp_Object tail, frame; 11234 Lisp_Object tail, frame;
11235 struct frame *sf = SELECTED_FRAME ();
11235 11236
11236 FOR_EACH_FRAME (tail, frame) 11237 FOR_EACH_FRAME (tail, frame)
11237 { 11238 {
@@ -11239,7 +11240,13 @@ clear_garbaged_frames (void)
11239 11240
11240 if (FRAME_VISIBLE_P (f) && FRAME_GARBAGED_P (f)) 11241 if (FRAME_VISIBLE_P (f) && FRAME_GARBAGED_P (f))
11241 { 11242 {
11242 if (f->resized_p) 11243 if (f->resized_p
11244 /* It makes no sense to redraw a non-selected TTY
11245 frame, since that will actually clear the
11246 selected frame, and might leave the selected
11247 frame with corrupted display, if it happens not
11248 to be marked garbaged. */
11249 && !(f != sf && (FRAME_TERMCAP_P (f) || FRAME_MSDOS_P (f))))
11243 redraw_frame (f); 11250 redraw_frame (f);
11244 else 11251 else
11245 clear_current_matrices (f); 11252 clear_current_matrices (f);