changeset 109184:04ae6087d3c0

Fix frame sizing for Lucid/Motif/Lesstif. * xfns.c (x_window): Set borderWidth to 0 for pane and EmacsFrame. Frame size calculation is wrong otherwise. * xmenu.c (set_frame_menubar): Must realize menubar_widget to get the correct size for Motif. (free_frame_menubar): Call x_set_window_size to update frame size.
author Jan D <jan.h.d@swipnet.se>
date Fri, 09 Jul 2010 18:39:51 +0200
parents a0cffb71f267
children 908904655a40
files src/ChangeLog src/xfns.c src/xmenu.c
diffstat 3 files changed, 15 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Fri Jul 09 11:05:47 2010 +0200
+++ b/src/ChangeLog	Fri Jul 09 18:39:51 2010 +0200
@@ -1,3 +1,12 @@
+2010-07-09  Jan Djärv  <jan.h.d@swipnet.se>
+
+	* xmenu.c (set_frame_menubar): Must realize menubar_widget to get the
+	correct size for Motif.
+	(free_frame_menubar): Call x_set_window_size to update frame size.
+
+	* xfns.c (x_window): Set borderWidth to 0 for pane and
+	EmacsFrame.  Frame size calculation is wrong otherwise.
+
 2010-07-09  Michael Albinus  <michael.albinus@gmx.de>
 
 	* dbusbind.c (xd_initialize): Add new argument RAISE_ERROR, which
--- a/src/xfns.c	Fri Jul 09 11:05:47 2010 +0200
+++ b/src/xfns.c	Fri Jul 09 18:39:51 2010 +0200
@@ -2450,6 +2450,7 @@
   XtSetArg (al[ac], XtNvisual, FRAME_X_VISUAL (f)); ac++;
   XtSetArg (al[ac], XtNdepth, FRAME_X_DISPLAY_INFO (f)->n_planes); ac++;
   XtSetArg (al[ac], XtNcolormap, FRAME_X_COLORMAP (f)); ac++;
+  XtSetArg (al[ac], XtNborderWidth, 0); ac++;
   XtSetValues (pane_widget, al, ac);
   f->output_data.x->column_widget = pane_widget;
 
@@ -2465,6 +2466,7 @@
   XtSetArg (al[ac], XtNvisual, FRAME_X_VISUAL (f)); ac++;
   XtSetArg (al[ac], XtNdepth, FRAME_X_DISPLAY_INFO (f)->n_planes); ac++;
   XtSetArg (al[ac], XtNcolormap, FRAME_X_COLORMAP (f)); ac++;
+  XtSetArg (al[ac], XtNborderWidth, 0); ac++;
   frame_widget = XtCreateWidget (f->namebuf, emacsFrameClass, pane_widget,
 				 al, ac);
 
--- a/src/xmenu.c	Fri Jul 09 11:05:47 2010 +0200
+++ b/src/xmenu.c	Fri Jul 09 18:39:51 2010 +0200
@@ -1285,6 +1285,9 @@
     }
 
   {
+    if (f->output_data.x->menubar_widget)
+      XtRealizeWidget (f->output_data.x->menubar_widget);
+
     int menubar_size
       = (f->output_data.x->menubar_widget
 	 ? (f->output_data.x->menubar_widget->core.height
@@ -1385,7 +1388,7 @@
 	    XtVaSetValues (f->output_data.x->widget, XtNx, x0, XtNy, y0, NULL);
 	}
 #endif
-
+      x_set_window_size (f, 0, FRAME_COLS (f), FRAME_LINES (f));
       UNBLOCK_INPUT;
     }
 }