Sync OpenBSD patchset 631:

Fix divide by zero on small windows with main-* layouts.
This commit is contained in:
Tiago Cunha 2010-02-05 01:29:04 +00:00
parent 0d5542e65e
commit 23fb261b85

View File

@ -1,4 +1,4 @@
/* $Id: layout-set.c,v 1.4 2009-12-04 22:14:47 tcunha Exp $ */ /* $Id: layout-set.c,v 1.5 2010-02-05 01:29:04 tcunha Exp $ */
/* /*
* Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net> * Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net>
@ -244,6 +244,8 @@ layout_set_main_h(struct window *w)
/* How many rows and columns will be needed? */ /* How many rows and columns will be needed? */
columns = w->sx / (PANE_MINIMUM + 1); /* maximum columns */ columns = w->sx / (PANE_MINIMUM + 1); /* maximum columns */
if (columns == 0)
columns = 1;
rows = 1 + (n - 1) / columns; rows = 1 + (n - 1) / columns;
columns = 1 + (n - 1) / rows; columns = 1 + (n - 1) / rows;
width = w->sx / columns; width = w->sx / columns;
@ -353,6 +355,8 @@ layout_set_main_v(struct window *w)
/* How many rows and columns will be needed? */ /* How many rows and columns will be needed? */
rows = w->sy / (PANE_MINIMUM + 1); /* maximum rows */ rows = w->sy / (PANE_MINIMUM + 1); /* maximum rows */
if (rows == 0)
rows = 1;
columns = 1 + (n - 1) / rows; columns = 1 + (n - 1) / rows;
rows = 1 + (n - 1) / columns; rows = 1 + (n - 1) / columns;
height = w->sy / rows; height = w->sy / rows;