From 5da1193803aaa31ce9f49c4ce48b3cfff21a0d3f Mon Sep 17 00:00:00 2001 From: Gerd Moellmann Date: Mon, 29 May 2000 15:51:23 +0000 Subject: [PATCH] (redisplay_window): Really switch buffers when displaying mode lines, and temporarily set selected_frame to the frame of the window that's redisplayed. --- src/xdisp.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) 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. */ -- 2.39.5