Enlightenment CVS committal
Author : raster
Project : e17
Module : libs/evas
Dir : e17/libs/evas/src/lib/canvas
Modified Files:
evas_main.c
Log Message:
avoid type overflow...
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/evas/src/lib/canvas/evas_main.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -3 -r1.11 -r1.12
--- evas_main.c 16 Feb 2004 19:22:48 -0000 1.11
+++ evas_main.c 28 Apr 2004 01:52:16 -0000 1.12
@@ -540,7 +540,8 @@
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
return 0;
MAGIC_CHECK_END();
- return e->viewport.x + (((Evas_Coord)x * e->viewport.w) / (Evas_Coord)e->output.w);
+ if (e->output.w == e->viewport.w) return e->viewport.x + x;
+ return (long long)e->viewport.x + (((long long)x * (long long)e->viewport.w) /
(long long)e->output.w);
}
/**
@@ -570,7 +571,8 @@
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
return 0;
MAGIC_CHECK_END();
- return e->viewport.y + (((Evas_Coord)y * e->viewport.h) / (Evas_Coord)e->output.h);
+ if (e->output.h == e->viewport.h) return e->viewport.y + y;
+ return (long long)e->viewport.y + (((long long)y * (long long)e->viewport.h) /
(long long)e->output.h);
}
/**
@@ -600,7 +602,8 @@
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
return 0;
MAGIC_CHECK_END();
- return (int)(((x - e->viewport.x) * (Evas_Coord)e->output.w) / e->viewport.w);
+ if (e->output.w == e->viewport.w) return x - e->viewport.x;
+ return (int)((((long long)x - (long long)e->viewport.x) * (long long)e->output.w)
/ (long long)e->viewport.w);
}
/**
@@ -630,7 +633,8 @@
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
return 0;
MAGIC_CHECK_END();
- return (int)(((y - e->viewport.y) * (Evas_Coord)e->output.h) / e->viewport.h);
+ if (e->output.h == e->viewport.h) return y - e->viewport.y;
+ return (int)((((long long)y - (long long)e->viewport.y) * (long long)e->output.h)
/ (long long)e->viewport.h);
}
/**
-------------------------------------------------------
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g.
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149&alloc_id=8166&op=click
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs