aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorFred Pierresteguy1994-03-04 09:09:49 +0000
committerFred Pierresteguy1994-03-04 09:09:49 +0000
commit57aa60d8f1580bbaed98645a61bf1a9d65f6adfb (patch)
tree328cd0fff501aa5a59e15643ebe3e2e68c8922e9 /src
parent6f3e8e346c7367628499982b955ab38582462637 (diff)
downloademacs-57aa60d8f1580bbaed98645a61bf1a9d65f6adfb.tar.gz
emacs-57aa60d8f1580bbaed98645a61bf1a9d65f6adfb.zip
(EmacsFrameSetCharSize): Don't call XtMakeResizeRequest. Use XtVaSetValues for
geometry management.
Diffstat (limited to 'src')
-rw-r--r--src/widget.c25
1 files changed, 20 insertions, 5 deletions
diff --git a/src/widget.c b/src/widget.c
index a1282f397dd..a24db0e306c 100644
--- a/src/widget.c
+++ b/src/widget.c
@@ -882,17 +882,32 @@ EmacsFrameSetCharSize (widget, columns, rows)
882 ? VERTICAL_SCROLL_BAR_PIXEL_WIDTH (f) 882 ? VERTICAL_SCROLL_BAR_PIXEL_WIDTH (f)
883 : 0); 883 : 0);
884 char_to_pixel_size (ew, columns, rows, &pixel_width, &pixel_height); 884 char_to_pixel_size (ew, columns, rows, &pixel_width, &pixel_height);
885 result = XtMakeResizeRequest ((Widget)ew, 885
886/* Dont call XtMakeResize Request. This appears to not work for all
887 the cases.
888 Use XtVaSetValues instead. */
889#if 0
890result = XtMakeResizeRequest ((Widget)ew,
886 pixel_width, pixel_height, 891 pixel_width, pixel_height,
887 &granted_width, &granted_height); 892 &granted_width, &granted_height);
888 if (result == XtGeometryAlmost) 893 if (result == XtGeometryAlmost)
889 XtMakeResizeRequest ((Widget) ew, granted_width, granted_height, 894 XtMakeResizeRequest ((Widget) ew, granted_width, granted_height,
890 NULL, NULL); 895 NULL, NULL);
891 /* damn Paned widget won't ever change its width. Force it. */ 896#endif
892 if (ew->core.width != pixel_width) 897 /* Recompute the entire geometry management. */
898 if (ew->core.width != pixel_width || ew->core.height != pixel_height)
893 { 899 {
894 XtVaSetValues (XtParent ((Widget) ew), XtNwidth, pixel_width, 0); 900 int hdelta = pixel_height - ew->core.height;
895 XtVaSetValues ((Widget) ew, XtNwidth, pixel_width, 0); 901 int column_widget_height = f->display.x->column_widget->core.height;
902 XtVaSetValues ((Widget) ew,
903 XtNheight, pixel_height,
904 XtNwidth, pixel_width,
905 0);
906
907 XtVaSetValues (f->display.x->column_widget,
908 XtNwidth, pixel_width,
909 XtNheight, column_widget_height + hdelta,
910 0);
896 } 911 }
897 912
898 /* We've set {FRAME,PIXEL}_{WIDTH,HEIGHT} to the values we hope to 913 /* We've set {FRAME,PIXEL}_{WIDTH,HEIGHT} to the values we hope to