diff options
author | Fred Pierresteguy <F.Pierresteguy@frcl.bull.fr> | 1994-03-04 09:09:49 +0000 |
---|---|---|
committer | Fred Pierresteguy <F.Pierresteguy@frcl.bull.fr> | 1994-03-04 09:09:49 +0000 |
commit | 79b205fe46c11d4cf14ce72e0b8d1dbf63ab4e77 (patch) | |
tree | 7e195c06f917da99d57f39824c9c3c8c801c39a5 /src/widget.c | |
parent | 64cadfcb5f672c2ed1ce33ec2d55a386ec8fa440 (diff) | |
download | emacs-79b205fe46c11d4cf14ce72e0b8d1dbf63ab4e77.tar.gz |
(EmacsFrameSetCharSize): Don't call XtMakeResizeRequest. Use XtVaSetValues for
geometry management.
Diffstat (limited to 'src/widget.c')
-rw-r--r-- | src/widget.c | 25 |
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) ? VERTICAL_SCROLL_BAR_PIXEL_WIDTH (f) : 0); char_to_pixel_size (ew, columns, rows, &pixel_width, &pixel_height); - result = XtMakeResizeRequest ((Widget)ew, + +/* Dont call XtMakeResize Request. This appears to not work for all + the cases. + Use XtVaSetValues instead. */ +#if 0 +result = XtMakeResizeRequest ((Widget)ew, pixel_width, pixel_height, &granted_width, &granted_height); if (result == XtGeometryAlmost) XtMakeResizeRequest ((Widget) ew, granted_width, granted_height, NULL, NULL); - /* damn Paned widget won't ever change its width. Force it. */ - if (ew->core.width != pixel_width) +#endif + /* Recompute the entire geometry management. */ + if (ew->core.width != pixel_width || ew->core.height != pixel_height) { - XtVaSetValues (XtParent ((Widget) ew), XtNwidth, pixel_width, 0); - XtVaSetValues ((Widget) ew, XtNwidth, pixel_width, 0); + int hdelta = pixel_height - ew->core.height; + int column_widget_height = f->display.x->column_widget->core.height; + XtVaSetValues ((Widget) ew, + XtNheight, pixel_height, + XtNwidth, pixel_width, + 0); + + XtVaSetValues (f->display.x->column_widget, + XtNwidth, pixel_width, + XtNheight, column_widget_height + hdelta, + 0); } /* We've set {FRAME,PIXEL}_{WIDTH,HEIGHT} to the values we hope to |