From 543da9acfae043153e1e390e3f69b1133df64d25 Mon Sep 17 00:00:00 2001 From: sleske Date: Mon, 18 Mar 2013 22:19:15 +0000 Subject: Fix:core:Fix signed int overflow in polygon clipping, to fix rendering errors in high zoom levels.|May be related to #1062. git-svn-id: http://svn.code.sf.net/p/navit/code/trunk/navit@5418 ffa7fe5e-494d-0410-b361-a75ebd5db220 --- navit/graphics.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'navit/graphics.c') diff --git a/navit/graphics.c b/navit/graphics.c index 1cf0ac898..f8057c73b 100644 --- a/navit/graphics.c +++ b/navit/graphics.c @@ -1689,19 +1689,19 @@ poly_intersection(struct point *p1, struct point *p2, struct point_rect *r, int int dy=p2->y-p1->y; switch(edge) { case 0: - ret->y=p1->y+(r->lu.x-p1->x)*dy/dx; + ret->y=p1->y+((float)r->lu.x-p1->x)*dy/dx; ret->x=r->lu.x; break; case 1: - ret->y=p1->y+(r->rl.x-p1->x)*dy/dx; + ret->y=p1->y+((float)r->rl.x-p1->x)*dy/dx; ret->x=r->rl.x; break; case 2: - ret->x=p1->x+(r->lu.y-p1->y)*dx/dy; + ret->x=p1->x+((float)r->lu.y-p1->y)*dx/dy; ret->y=r->lu.y; break; case 3: - ret->x=p1->x+(r->rl.y-p1->y)*dx/dy; + ret->x=p1->x+((float)r->rl.y-p1->y)*dx/dy; ret->y=r->rl.y; break; } -- cgit v1.2.1