diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/window.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/window.c b/src/window.c index f11fed9a2df..cbf4d0f062a 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -2486,11 +2486,18 @@ by `current-window-configuration' (which see).") | |||
| 2486 | } | 2486 | } |
| 2487 | 2487 | ||
| 2488 | FRAME_ROOT_WINDOW (f) = data->root_window; | 2488 | FRAME_ROOT_WINDOW (f) = data->root_window; |
| 2489 | /* We also need to restore the frame's selected window; that's taken | ||
| 2490 | care of below, either by calling Fselect_window, or by explicit | ||
| 2491 | assignment. */ | ||
| 2489 | 2492 | ||
| 2493 | #if 0 /* I don't understand why this is needed, and it causes | ||
| 2494 | problems when the frame's old selected window has been | ||
| 2495 | deleted. */ | ||
| 2490 | #ifdef MULTI_FRAME | 2496 | #ifdef MULTI_FRAME |
| 2491 | if (f != selected_frame && ! FRAME_TERMCAP_P (f)) | 2497 | if (f != selected_frame && ! FRAME_TERMCAP_P (f)) |
| 2492 | Fselect_frame (WINDOW_FRAME (XWINDOW (data->root_window)), Qnil); | 2498 | Fselect_frame (WINDOW_FRAME (XWINDOW (data->root_window)), Qnil); |
| 2493 | #endif | 2499 | #endif |
| 2500 | #endif | ||
| 2494 | 2501 | ||
| 2495 | /* Set the screen height to the value it had before this function. */ | 2502 | /* Set the screen height to the value it had before this function. */ |
| 2496 | if (frame_size_change) | 2503 | if (frame_size_change) |
| @@ -2504,6 +2511,8 @@ by `current-window-configuration' (which see).") | |||
| 2504 | else | 2511 | else |
| 2505 | Fset_buffer (XWINDOW (selected_window)->buffer); | 2512 | Fset_buffer (XWINDOW (selected_window)->buffer); |
| 2506 | } | 2513 | } |
| 2514 | else | ||
| 2515 | FRAME_SELECTED_WINDOW (f) = data->current_window; | ||
| 2507 | 2516 | ||
| 2508 | Vminibuf_scroll_window = data->minibuf_scroll_window; | 2517 | Vminibuf_scroll_window = data->minibuf_scroll_window; |
| 2509 | return (Qnil); | 2518 | return (Qnil); |