diff options
| author | forsyth <forsyth@vitanuova.com> | 2010-08-01 12:55:40 +0100 |
|---|---|---|
| committer | forsyth <forsyth@vitanuova.com> | 2010-08-01 12:55:40 +0100 |
| commit | 7781741266783e4df3b35d42a55e8e504838898b (patch) | |
| tree | dad0832f099405dc81e37e333443e88afc1c5923 /libtk/coval.c | |
| parent | ce8e0d607a2bec33fcaac7237d0b5535e5b152a1 (diff) | |
20100801
Diffstat (limited to 'libtk/coval.c')
| -rw-r--r-- | libtk/coval.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libtk/coval.c b/libtk/coval.c index c70a607e..196e50fd 100644 --- a/libtk/coval.c +++ b/libtk/coval.c @@ -228,6 +228,7 @@ tkcvsovalhit(TkCitem *i, Point p) TkCoval *o; int w, dx, dy; Rectangle d; + vlong v; o = TKobj(TkCoval, i); w = TKF2I(o->width)/2; @@ -244,5 +245,7 @@ tkcvsovalhit(TkCitem *i, Point p) dy *= dy; /* XXX can we do this nicely without overflow and without vlongs? */ - return (vlong)(p.x*p.x)*dy + (vlong)(p.y*p.y)*dx < (vlong)dx*dy; + v = (vlong)(p.x*p.x)*dy; + v += (vlong)(p.y*p.y)*dx; + return v < (vlong)dx*dy; } |
