changeset 1280:5c66007ecabb

* window.c (Fset_window_configuration): Don't select the frame just because we restored its configuration. * window.c (Fset_window_configuration): Don't forget to set the frame's selected window when we can't call Fselect_window.
author Jim Blandy <jimb@redhat.com>
date Wed, 30 Sep 1992 14:28:46 +0000
parents 74ae34a80f94
children 1f6cfa3ea4cb
files src/window.c
diffstat 1 files changed, 10 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/window.c	Wed Sep 30 11:57:51 1992 +0000
+++ b/src/window.c	Wed Sep 30 14:28:46 1992 +0000
@@ -2486,11 +2486,18 @@
     }
 
   FRAME_ROOT_WINDOW (f) = data->root_window;
-
+  /* We also need to restore the frame's selected window; that's taken
+     care of below, either by calling Fselect_window, or by explicit
+     assignment.  */
+
+#if 0  /* I don't understand why this is needed, and it causes
+	  problems when the frame's old selected window has been
+	  deleted.  */
 #ifdef MULTI_FRAME
   if (f != selected_frame && ! FRAME_TERMCAP_P (f))
     Fselect_frame (WINDOW_FRAME (XWINDOW (data->root_window)), Qnil);
 #endif
+#endif
 
   /* Set the screen height to the value it had before this function.  */
   if (frame_size_change)
@@ -2504,6 +2511,8 @@
       else
 	Fset_buffer (XWINDOW (selected_window)->buffer);
     }
+  else
+    FRAME_SELECTED_WINDOW (f) = data->current_window;
 
   Vminibuf_scroll_window = data->minibuf_scroll_window;
   return (Qnil);