summaryrefslogtreecommitdiff
path: root/sys/src/cmd/acme
diff options
context:
space:
mode:
authorOri Bernstein <ori@eigenstate.org>2019-12-04 12:37:07 -0800
committerOri Bernstein <ori@eigenstate.org>2019-12-04 12:37:07 -0800
commit2b5db0d9d451dafa70039dc0a668cde68e59d4f3 (patch)
tree7c3ff9ae34b33f7ec243adb84e13b1eee8f9a07e /sys/src/cmd/acme
parenta181f3dd3e922e7acc5a3f4982584e845bddec3c (diff)
acme: avoid division by zero when resizing col (#189)
To reproduce, create a column with at least two windows and resize acme to have almost zero height. (imported from plan9port commit 76b9347a5fa3a0970527c6ee1b97ef1c714f636b)
Diffstat (limited to 'sys/src/cmd/acme')
-rw-r--r--sys/src/cmd/acme/cols.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/src/cmd/acme/cols.c b/sys/src/cmd/acme/cols.c
index a5e0fbd28..f66634d57 100644
--- a/sys/src/cmd/acme/cols.c
+++ b/sys/src/cmd/acme/cols.c
@@ -197,8 +197,11 @@ colresize(Column *c, Rectangle r)
w->maxlines = 0;
if(i == c->nw-1)
r1.max.y = r.max.y;
- else
- r1.max.y = r1.min.y+(Dy(w->r)+Border)*Dy(r)/Dy(c->r);
+ else {
+ r1.max.y = r1.min.y;
+ if(Dy(c->r) != 0)
+ r1.max.y += (Dy(w->r)+Border)*Dy(r)/Dy(c->r);
+ }
r2 = r1;
r2.max.y = r2.min.y+Border;
draw(screen, r2, display->black, nil, ZP);