since this code's creation it seems that the internal int size was set to use
short in order to micro-optimize memory usage, while the api function parameters
used Eina_Rectangle which had a larger int size. when initializing the internal
rect struct, this would lead to overflows which resulted in broken tilers which
returned iterators with no valid rects after having valid rects added
test case: run weston-subsurfaces
@fix
struct rect
{
- short right;
- short bottom;
- short left;
- short top;
- short width;
- short height;
+ int right;
+ int bottom;
+ int left;
+ int top;
+ int width;
+ int height;
int area;
};