X11: fix menu windows being taller than the screen
Menu windows with lots of entries (such as #optionsfull) were taller than the screen, making them awkward to use. The widget needs to be realized before we can get the size. Also, we need to set the size of the parent popup, not the acting widget.
This commit is contained in:
@@ -244,6 +244,7 @@ Windows: in the event that there is a collision between a menu group
|
||||
X11: obey timed_delay
|
||||
X11: improve TTY-style status line with text attributes for status hilites,
|
||||
hitpointbar, some unicode support, 3-line status
|
||||
X11: fix menu windows being taller than the screen
|
||||
|
||||
|
||||
General New Features
|
||||
|
||||
+2
-2
@@ -1062,6 +1062,7 @@ X11_select_menu(winid window, int how, menu_item **menu_list)
|
||||
menu_create_entries(wp, &menu_info->curr_menu);
|
||||
|
||||
/* if viewport will be bigger than the screen, limit its height */
|
||||
XtRealizeWidget(wp->popup); /* need to realize before we get size/pos */
|
||||
num_args = 0;
|
||||
XtSetArg(args[num_args], XtNwidth, &v_pixel_width); num_args++;
|
||||
XtSetArg(args[num_args], XtNheight, &v_pixel_height); num_args++;
|
||||
@@ -1076,9 +1077,8 @@ X11_select_menu(winid window, int how, menu_item **menu_list)
|
||||
num_args = 0;
|
||||
XtSetArg(args[num_args], XtNwidth, v_pixel_width); num_args++;
|
||||
XtSetArg(args[num_args], XtNheight, v_pixel_height); num_args++;
|
||||
XtSetValues(wp->w, args, num_args);
|
||||
XtSetValues(wp->popup, args, num_args);
|
||||
}
|
||||
XtRealizeWidget(wp->popup); /* need to realize before we position */
|
||||
|
||||
/* if menu is not up, position it */
|
||||
if (!menu_info->is_up) {
|
||||
|
||||
Reference in New Issue
Block a user