size hints can be -1

This commit is contained in:
Guido Cella
2026-09-16 11:50:36 +02:00
parent 433c325fb2
commit 1dae5ba3ed
2 changed files with 4 additions and 4 deletions
+2 -2
View File
@@ -248,12 +248,12 @@ client_is_float_type(Client *c)
return 1;
}
return min.width && min.height &&
return min.width > 0 && min.height > 0 &&
(min.width == max.width || min.height == max.height);
}
#endif
return c->surface.xdg->toplevel->parent || (min.width && min.height &&
return c->surface.xdg->toplevel->parent || (min.width > 0 && min.height > 0 &&
(min.width == max.width || min.height == max.height));
}
+2 -2
View File
@@ -491,9 +491,9 @@ applybounds(Client *c, struct wlr_box *bbox)
c->geom.height = MAX(min.height + 2 * (int)c->bw, c->geom.height);
/* Some clients set their max size to INT_MAX, which does not violate the
* protocol but it's unnecesary, as they can set their max size to zero. */
if (max.width && 2 * (int)c->bw <= INT_MAX - max.width) /* Checks for overflow */
if (max.width > 0 && 2 * (int)c->bw <= INT_MAX - max.width) /* Checks for overflow */
c->geom.width = MIN(max.width + 2 * (int)c->bw, c->geom.width);
if (max.height && 2 * (int)c->bw <= INT_MAX - max.height) /* Checks for overflow */
if (max.height > 0 && 2 * (int)c->bw <= INT_MAX - max.height) /* Checks for overflow */
c->geom.height = MIN(max.height + 2 * (int)c->bw, c->geom.height);
}