aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGerd Moellmann2000-05-29 15:51:23 +0000
committerGerd Moellmann2000-05-29 15:51:23 +0000
commit5da1193803aaa31ce9f49c4ce48b3cfff21a0d3f (patch)
tree15c22614b98591419a0590c30d1a7e3aa80c11bd /src
parentd0bca3c92e730c1d294ecd079997423413126e77 (diff)
downloademacs-5da1193803aaa31ce9f49c4ce48b3cfff21a0d3f.tar.gz
emacs-5da1193803aaa31ce9f49c4ce48b3cfff21a0d3f.zip
(redisplay_window): Really switch buffers when
displaying mode lines, and temporarily set selected_frame to the frame of the window that's redisplayed.
Diffstat (limited to 'src')
-rw-r--r--src/xdisp.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/xdisp.c b/src/xdisp.c
index 0171f963f34..78764ebc497 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -9201,7 +9201,20 @@ redisplay_window (window, just_this_one_p)
9201 && (WINDOW_WANTS_MODELINE_P (w) 9201 && (WINDOW_WANTS_MODELINE_P (w)
9202 || WINDOW_WANTS_HEADER_LINE_P (w))) 9202 || WINDOW_WANTS_HEADER_LINE_P (w)))
9203 { 9203 {
9204 Lisp_Object old_selected_frame;
9205
9206 old_selected_frame = selected_frame;
9207
9208 if (!really_switched_buffer)
9209 {
9210 set_buffer_temp (old);
9211 set_buffer_internal_1 (XBUFFER (w->buffer));
9212 really_switched_buffer = 1;
9213 }
9214
9215 XSETFRAME (selected_frame, f);
9204 display_mode_lines (w); 9216 display_mode_lines (w);
9217 selected_frame = old_selected_frame;
9205 9218
9206 /* If mode line height has changed, arrange for a thorough 9219 /* If mode line height has changed, arrange for a thorough
9207 immediate redisplay using the correct mode line height. */ 9220 immediate redisplay using the correct mode line height. */