changeset 25741:e26ea124e009

(resize_mini_window): Temporarily set the selected window's or Vminibuf_scroll_window's height to "fixed" around the call the change_window_height.
author Gerd Moellmann <gerd@gnu.org>
date Thu, 16 Sep 1999 12:52:27 +0000
parents 68659a16bc42
children 3d91004572f8
files src/xdisp.c
diffstat 1 files changed, 12 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/xdisp.c	Thu Sep 16 12:52:25 1999 +0000
+++ b/src/xdisp.c	Thu Sep 16 12:52:27 1999 +0000
@@ -5507,12 +5507,24 @@
 	  || BEGV == ZV)
 	{
 	  Lisp_Object old_selected_window;
+	  Lisp_Object fix_window;
 	  int old_height = XFASTINT (w->height);
 	      
 	  freeze_window_starts (f, height > XFASTINT (w->height));
+
+	  /* If the mini-buffer is selected, try to not change
+	     the height of Vminibuf_scroll_window.  Otherwise try
+	     to not change the height of the selected window.  */
+	  if (MINI_WINDOW_P (XWINDOW (selected_window)))
+	    fix_window = Vminibuf_scroll_window;
+	  else
+	    fix_window = selected_window;
+	  
 	  old_selected_window = selected_window;
 	  XSETWINDOW (selected_window, w);
+	  XWINDOW (fix_window)->height_fixed_p = 1;
 	  change_window_height (height - XFASTINT (w->height), 0);
+	  XWINDOW (fix_window)->height_fixed_p = 0;
 	  selected_window = old_selected_window;
 	  window_height_changed_p = XFASTINT (w->height) != old_height;
 	}