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

Reply via email to