From: Gerd Moellmann Date: Mon, 29 May 2000 15:51:23 +0000 (+0000) Subject: (redisplay_window): Really switch buffers when X-Git-Tag: emacs-pretest-21.0.90~3634 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=5da1193803aaa31ce9f49c4ce48b3cfff21a0d3f;p=emacs.git (redisplay_window): Really switch buffers when displaying mode lines, and temporarily set selected_frame to the frame of the window that's redisplayed. --- 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) && (WINDOW_WANTS_MODELINE_P (w) || WINDOW_WANTS_HEADER_LINE_P (w))) { + Lisp_Object old_selected_frame; + + old_selected_frame = selected_frame; + + if (!really_switched_buffer) + { + set_buffer_temp (old); + set_buffer_internal_1 (XBUFFER (w->buffer)); + really_switched_buffer = 1; + } + + XSETFRAME (selected_frame, f); display_mode_lines (w); + selected_frame = old_selected_frame; /* If mode line height has changed, arrange for a thorough immediate redisplay using the correct mode line height. */