comparison src/xdisp.c @ 29291:4849a9a666ab

(redisplay_window): Really switch buffers when displaying mode lines, and temporarily set selected_frame to the frame of the window that's redisplayed.
author Gerd Moellmann <gerd@gnu.org>
date Mon, 29 May 2000 15:51:23 +0000
parents 3977c8167022
children fd1702d12671
comparison
equal deleted inserted replaced
29290:181d214fe71c 29291:4849a9a666ab
9199 && XFASTINT (w->column_number_displayed) != current_column ())) 9199 && XFASTINT (w->column_number_displayed) != current_column ()))
9200 /* This means that the window has a mode line. */ 9200 /* This means that the window has a mode line. */
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. */
9208 if (WINDOW_WANTS_MODELINE_P (w) 9221 if (WINDOW_WANTS_MODELINE_P (w)
9209 && CURRENT_MODE_LINE_HEIGHT (w) != DESIRED_MODE_LINE_HEIGHT (w)) 9222 && CURRENT_MODE_LINE_HEIGHT (w) != DESIRED_MODE_LINE_HEIGHT (w))