summaryrefslogtreecommitdiff
path: root/exa/exa_render.c
diff options
context:
space:
mode:
authorEric Anholt <anholt@freebsd.org>2006-04-26 01:32:55 +0000
committerEric Anholt <anholt@freebsd.org>2006-04-26 01:32:55 +0000
commiteaed7545a25a08b3223bf620c2ab6f80fe7cfdf6 (patch)
treec0f78ebd37468e1e37cb87d9b92ba5610f630477 /exa/exa_render.c
parent5d00859c6e7d4b7ebce56f438ec4993334de2328 (diff)
Fix a bug in the intersection computation that could concievably cause
incorrect results to be returned (but would probably usually be over-conservative).
Diffstat (limited to 'exa/exa_render.c')
-rw-r--r--exa/exa_render.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/exa/exa_render.c b/exa/exa_render.c
index 1ce02deab..cdf323a76 100644
--- a/exa/exa_render.c
+++ b/exa/exa_render.c
@@ -643,8 +643,11 @@ exaGlyphsIntersect(int nlist, GlyphListPtr list, GlyphPtr *glyphs)
while (n--) {
glyph = *glyphs++;
- if (glyph->info.width == 0 || glyph->info.height == 0)
+ if (glyph->info.width == 0 || glyph->info.height == 0) {
+ x += glyph->info.xOff;
+ y += glyph->info.yOff;
continue;
+ }
x1 = x - glyph->info.x;
if (x1 < MINSHORT)