fix resizing to 0 from aspect ratios

This commit is contained in:
Dana Jansens 2003-09-28 07:38:55 +00:00
parent a434669d17
commit f9c659c12c

View file

@ -1953,14 +1953,33 @@ void client_configure_full(ObClient *self, ObCorner anchor,
h -= self->base_size.height;
if (self->min_ratio)
if (h * self->min_ratio > w) h = (int)(w / self->min_ratio);
if (h * self->min_ratio > w) {
h = (int)(w / self->min_ratio);
/* you cannot resize to nothing */
if (h < 1) {
h = 1;
w = (int)(h * self->min_ratio);
}
}
if (self->max_ratio)
if (h * self->max_ratio < w) h = (int)(w / self->max_ratio);
if (h * self->max_ratio < w) {
h = (int)(w / self->max_ratio);
/* you cannot resize to nothing */
if (h < 1) {
h = 1;
w = (int)(h * self->min_ratio);
}
}
w += self->base_size.width;
h += self->base_size.height;
}
g_assert(w > 0);
g_assert(h > 0);
switch (anchor) {
case OB_CORNER_TOPLEFT:
break;