summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2016-01-15 17:36:47 +0200
committerPaul Eggert <eggert@cs.ucla.edu>2016-03-21 17:05:55 -0700
commita17bddeaa430715bf98f662a2c24ae5af50cc6b8 (patch)
tree3a28c7ca9d8e62c8e7ce46d53ff865b1231757af
parent5a78876770255ee5e4f2dd0e9b5de30389b195da (diff)
downloademacs-a17bddeaa430715bf98f662a2c24ae5af50cc6b8.tar.gz
Ensure positive number of glyphs for margins of positive width
* src/dispnew.c (margin_glyphs_to_reserve): Always return a positive value when a non-zero width of the marginal area was requested. (Bug#22356) [This reapplies commit 740849fe986b62a839bce4bbf67d0036fc1be0b9, which was inadvertently lost by merge commit 7823745acbe9b87eea2db4ef434e379fc903ec35.]
-rw-r--r--src/dispnew.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/dispnew.c b/src/dispnew.c
index 9cf12f1a995..3a0532a693b 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -321,7 +321,9 @@ margin_glyphs_to_reserve (struct window *w, int total_glyphs, int margin)
int width = w->total_cols;
double d = max (0, margin);
d = min (width / 2 - 1, d);
- return (int) ((double) total_glyphs / width * d);
+ /* Since MARGIN is positive, we cannot possibly have less than
+ one glyph for the marginal area. */
+ return max (1, (int) ((double) total_glyphs / width * d));
}
return 0;
}