all repos — openbox @ f9c659c12c7f387133b76a89e38dd48bba1b8172

openbox fork - make it a bit more like ryudo

fix resizing to 0 from aspect ratios
Dana Jansens danakj@orodu.net
commit

f9c659c12c7f387133b76a89e38dd48bba1b8172

parent

a434669d1762cd97a0af8ab8f4717f3d563f8ec6

1 files changed, 29 insertions(+), 10 deletions(-)

jump to
M openbox/client.copenbox/client.c

@@ -1953,27 +1953,46 @@ w -= self->base_size.width;

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; + break; case OB_CORNER_TOPRIGHT: - x -= w - self->area.width; - break; + x -= w - self->area.width; + break; case OB_CORNER_BOTTOMLEFT: - y -= h - self->area.height; - break; + y -= h - self->area.height; + break; case OB_CORNER_BOTTOMRIGHT: - x -= w - self->area.width; - y -= h - self->area.height; - break; + x -= w - self->area.width; + y -= h - self->area.height; + break; } moved = x != self->area.x || y != self->area.y;