diff options
| author | Fred Pierresteguy | 1994-03-04 09:09:49 +0000 |
|---|---|---|
| committer | Fred Pierresteguy | 1994-03-04 09:09:49 +0000 |
| commit | 57aa60d8f1580bbaed98645a61bf1a9d65f6adfb (patch) | |
| tree | 328cd0fff501aa5a59e15643ebe3e2e68c8922e9 /src | |
| parent | 6f3e8e346c7367628499982b955ab38582462637 (diff) | |
| download | emacs-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.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) | |||
| 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 | ||
| 890 | result = 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 |