]> code.delx.au - gnu-emacs/commitdiff
(Fset_window_configuration): Allow for menu-bar-lines to have changed since
authorKarl Heuer <kwzh@gnu.org>
Sat, 26 Feb 1994 04:24:37 +0000 (04:24 +0000)
committerKarl Heuer <kwzh@gnu.org>
Sat, 26 Feb 1994 04:24:37 +0000 (04:24 +0000)
the configuration was created.

src/window.c

index f8cdd1a207a78350e581b934f64838fefd8e9601..4a32d57e9a1e2a1c6b3310404b069680ddf54d64 100644 (file)
@@ -2476,7 +2476,7 @@ struct save_window_data
   {
     int size_from_Lisp_Vector_struct;
     struct Lisp_Vector *next_from_Lisp_Vector_struct;
-    Lisp_Object frame_width, frame_height;
+    Lisp_Object frame_width, frame_height, frame_menu_bar_lines;
     Lisp_Object selected_frame;
     Lisp_Object current_window;
     Lisp_Object current_buffer;
@@ -2569,10 +2569,14 @@ by `current-window-configuration' (which see).")
         back.  We keep track of the prevailing height in these variables.  */
       int previous_frame_height = FRAME_HEIGHT (f);
       int previous_frame_width =  FRAME_WIDTH  (f);
+      int previous_frame_menu_bar_lines = FRAME_MENU_BAR_LINES (f);
 
       if (XFASTINT (data->frame_height) != previous_frame_height
          || XFASTINT (data->frame_width) != previous_frame_width)
        change_frame_size (f, data->frame_height, data->frame_width, 0, 0);
+      if (XFASTINT (data->frame_menu_bar_lines)
+         != previous_frame_menu_bar_lines)
+       x_set_menu_bar_lines (f, data->frame_menu_bar_lines, 0);
 
       windows_or_buffers_changed++;
 
@@ -2710,6 +2714,8 @@ by `current-window-configuration' (which see).")
          || previous_frame_width != FRAME_WIDTH (f))
        change_frame_size (f, previous_frame_height, previous_frame_width,
                           0, 0);
+      if (previous_frame_menu_bar_lines != FRAME_MENU_BAR_LINES (f))
+       x_set_menu_bar_lines (f, previous_frame_menu_bar_lines, 0);
     }
 
 #ifdef MULTI_FRAME
@@ -2872,6 +2878,7 @@ redirection (see `redirect-frame-focus').")
                                  Qnil));
   XFASTINT (data->frame_width) = FRAME_WIDTH (f);
   XFASTINT (data->frame_height) = FRAME_HEIGHT (f);
+  XFASTINT (data->frame_menu_bar_lines) = FRAME_MENU_BAR_LINES (f);
 #ifdef MULTI_FRAME
   XSET (data->selected_frame, Lisp_Frame, selected_frame);
 #endif