Traps that extend outside of the image bounds are rasterized incorrectly
currently; the problem is a signed vs. unsigned comparison that got
introduced when a width parameter went from int -> uint. This patch
puts it back to int (since it's stored as an int in the bits structure
to begin with), and also fixes a similar warning in the memset wrapper
pixman_fixed_t y = t;
uint32_t *line;
uint32_t *buf = (image)->bits.bits;
- uint32_t stride = (image)->bits.rowstride;
- uint32_t width = (image)->bits.width;
+ int32_t stride = (image)->bits.rowstride;
+ int32_t width = (image)->bits.width;
line = buf + pixman_fixed_to_int (y) * stride;
int fill_size = 0;
uint32_t *buf = (image)->bits.bits;
int32_t stride = (image)->bits.rowstride;
- uint32_t width = (image)->bits.width;
+ int32_t width = (image)->bits.width;
line = buf + pixman_fixed_to_int (y) * stride;
do { \
size_t _i; \
uint8_t *_dst = (uint8_t*)(dst); \
- for(_i = 0; _i < size; _i++) { \
+ for(_i = 0; _i < (size_t) size; _i++) { \
WRITE(_dst +_i, (val)); \
} \
} while (0)