changeset 3477:c079a2d6cf0e

(x_set_menu_bar_lines_1): Adjust just the uppermost child in a vertical split. Adjust the hight counter to the top. (x_set_menu_bar_lines): Don't change overall frame height.
author Richard M. Stallman <rms@gnu.org>
date Fri, 04 Jun 1993 07:14:47 +0000
parents 6c6d1c6afb57
children a917a964bef8
files src/xfns.c
diffstat 1 files changed, 13 insertions(+), 20 deletions(-) [+]
line wrap: on
line diff
--- a/src/xfns.c	Fri Jun 04 06:40:45 1993 +0000
+++ b/src/xfns.c	Fri Jun 04 07:14:47 1993 +0000
@@ -929,17 +929,20 @@
   Lisp_Object window;
   int n;
 {
-  for (; !NILP (window); window = XWINDOW (window)->next)
+  struct window *w = XWINDOW (window);
+
+  XFASTINT (w->top) += n;
+  XFASTINT (w->height) -= n;
+
+  /* Handle just the top child in a vertical split.  */
+  if (!NILP (w->vchild))
+    x_set_menu_bar_lines_1 (w->vchild, n);
+
+  /* Adjust all children in a horizontal split.  */
+  for (window = w->hchild; !NILP (window); window = w->next)
     {
-      struct window *w = XWINDOW (window);
-
-      XFASTINT (w->top) += n;
-
-      if (!NILP (w->vchild))
-	x_set_menu_bar_lines_1 (w->vchild, n);
-
-      if (!NILP (w->hchild))
-	x_set_menu_bar_lines_1 (w->hchild, n);
+      w = XWINDOW (window);
+      x_set_menu_bar_lines_1 (window, n);
     }
 }
 
@@ -965,16 +968,6 @@
 
   FRAME_MENU_BAR_LINES (f) = nlines;
   x_set_menu_bar_lines_1 (f->root_window, nlines - olines);
-  /* Use FRAME_NEW_WIDTH, HEIGHT so as not to override a size change
-     made by the user but not fully reflected in the Emacs frame object.  */
-  x_set_window_size (f,
-		     (FRAME_NEW_WIDTH (f)
-		      ? FRAME_NEW_WIDTH (f)
-		      : FRAME_WIDTH (f)),
-		     ((FRAME_NEW_HEIGHT (f)
-		       ? FRAME_NEW_HEIGHT (f)
-		       : FRAME_HEIGHT (f))
-		      + nlines - olines));
 }
 
 /* Change the name of frame F to ARG.  If ARG is nil, set F's name to