container_floating_set_default_size: Store workspace size box on the stack

This commit is contained in:
Alexander Orzechowski 2022-07-23 20:24:57 -04:00 committed by Simon Ser
parent 8aa89dc277
commit a61815d385

View file

@ -787,11 +787,11 @@ void container_floating_set_default_size(struct sway_container *con) {
int min_width, max_width, min_height, max_height; int min_width, max_width, min_height, max_height;
floating_calculate_constraints(&min_width, &max_width, floating_calculate_constraints(&min_width, &max_width,
&min_height, &max_height); &min_height, &max_height);
struct wlr_box *box = calloc(1, sizeof(struct wlr_box)); struct wlr_box box;
workspace_get_box(con->pending.workspace, box); workspace_get_box(con->pending.workspace, &box);
double width = fmax(min_width, fmin(box->width * 0.5, max_width)); double width = fmax(min_width, fmin(box.width * 0.5, max_width));
double height = fmax(min_height, fmin(box->height * 0.75, max_height)); double height = fmax(min_height, fmin(box.height * 0.75, max_height));
if (!con->view) { if (!con->view) {
con->pending.width = width; con->pending.width = width;
con->pending.height = height; con->pending.height = height;
@ -800,8 +800,6 @@ void container_floating_set_default_size(struct sway_container *con) {
con->pending.content_height = height; con->pending.content_height = height;
container_set_geometry_from_content(con); container_set_geometry_from_content(con);
} }
free(box);
} }