diff src/xmenu.c @ 6200:01c57ae8ca57

(update_one_frame_psheets): Call EmacsFrameSetCharSize to force the paned widget to resize to the right value. (xmenu_show): No need to check a second time whether the mouse has moved to another menu bar item. This slows down execution.
author Fred Pierresteguy <F.Pierresteguy@frcl.bull.fr>
date Fri, 04 Mar 1994 09:30:58 +0000
parents d941186e8fb9
children 38ec8e76594f
line wrap: on
line diff
--- a/src/xmenu.c	Fri Mar 04 09:09:49 1994 +0000
+++ b/src/xmenu.c	Fri Mar 04 09:30:58 1994 +0000
@@ -885,12 +885,14 @@
   UNBLOCK_INPUT;
 }
 
+extern void EmacsFrameSetCharSize ();
+
 static void
 update_one_frame_psheets (f)
      FRAME_PTR f;
 {
   struct x_display *x = f->display.x;
-  
+  int columns, rows;
   int menubar_changed;
   
   menubar_changed = (x->menubar_widget
@@ -900,6 +902,12 @@
     return;
 
   BLOCK_INPUT;
+  /* Save the size of the frame because the pane widget doesn't accept to
+     resize itself. So force it.  */
+  columns = f->width;
+  rows = f->height;
+
+
   XawPanedSetRefigureMode (x->column_widget, 0);
   
   /* the order in which children are managed is the top to
@@ -924,6 +932,10 @@
 
   /* and now thrash the sizes */
   XawPanedSetRefigureMode (x->column_widget, 1);
+
+  /* Force the pane widget to resize itself with the right values.  */
+  EmacsFrameSetCharSize (x->edit_widget, columns, rows);
+
   UNBLOCK_INPUT;
 }
 
@@ -1284,6 +1296,9 @@
     pop_up_menu (mw, &dummy);
   }
 
+  /* No need to check a second time since this is done in the XEvent loop.
+     This slows done the execution.  */
+#if 0
   /* Check again whether the mouse has moved to another menu bar item.  */
   if (check_mouse_other_menu_bar (f))
     {
@@ -1297,6 +1312,7 @@
       lw_destroy_all_widgets (menu_id); 
       goto pop_down;
     }
+#endif
 
   /* Process events that apply to the menu.  */
   while (1)