tfontsrv: work around a few crashes - plan9port - [fork] Plan 9 from user space | |
git clone git://src.adamsgaard.dk/plan9port | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit e19fde358468d55bc60664691978ae86c7641015 | |
parent c6d1f20537c9bbe0a49e89f81d4b70368ba4172f | |
Author: Russ Cox <[email protected]> | |
Date: Sun, 25 Nov 2012 22:45:32 -0500 | |
fontsrv: work around a few crashes | |
Probably not the right fix, but gets us going. | |
R=rsc | |
http://codereview.appspot.com/6782113 | |
Diffstat: | |
M src/cmd/fontsrv/osx.c | 8 ++++++-- | |
1 file changed, 6 insertions(+), 2 deletions(-) | |
--- | |
diff --git a/src/cmd/fontsrv/osx.c b/src/cmd/fontsrv/osx.c | |
t@@ -183,10 +183,10 @@ mksubfont(char *name, int lo, int hi, int size, int anti… | |
x = (int)(bbox.size.width * size / unit + 0.99999999); | |
y = bbox.size.height * size/unit + 0.99999999; | |
y0 = (int)(-bbox.origin.y * size/unit + 0.99999999); | |
- m = allocmemimage(Rect(0, 0, x*(hi+1-lo), y), GREY8); | |
+ m = allocmemimage(Rect(0, 0, x*(hi+1-lo)+1, y+1), GREY8); | |
if(m == nil) | |
return nil; | |
- mc = allocmemimage(Rect(0, 0, x, y), GREY8); | |
+ mc = allocmemimage(Rect(0, 0, x+1, y+1), GREY8); | |
if(mc == nil) | |
return nil; | |
memfillcolor(m, DBlack); | |
t@@ -272,6 +272,10 @@ mksubfont(char *name, int lo, int hi, int size, int antia… | |
// round up to 32-bit boundary | |
// so that in-memory data is same | |
// layout as in-file data. | |
+ if(x == 0) | |
+ x = 1; | |
+ if(y == 0) | |
+ y = 1; | |
if(antialias) | |
x += -x & 3; | |
else |