projects
/
profile
/
ivi
/
pixman.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
bf125fb
)
bits: Fix potential divide-by-zero in projective code
author
Søren Sandmann Pedersen
<ssp@redhat.com>
Fri, 16 Jul 2010 03:40:28 +0000
(23:40 -0400)
committer
Søren Sandmann Pedersen
<ssp@redhat.com>
Fri, 23 Jul 2010 23:16:43 +0000
(19:16 -0400)
If the homogeneous coordinate is 0, just set the coordinates to 0.
pixman/pixman-bits-image.c
patch
|
blob
|
history
diff --git
a/pixman/pixman-bits-image.c
b/pixman/pixman-bits-image.c
index
95710b4
..
36ea0af
100644
(file)
--- a/
pixman/pixman-bits-image.c
+++ b/
pixman/pixman-bits-image.c
@@
-695,12
+695,20
@@
bits_image_fetch_transformed (pixman_image_t * image,
{
for (i = 0; i < width; ++i)
{
- pixman_fixed_t x0, y0;
-
if (!mask || mask[i])
{
- x0 = ((pixman_fixed_48_16_t)x << 16) / w;
- y0 = ((pixman_fixed_48_16_t)y << 16) / w;
+ pixman_fixed_t x0, y0;
+
+ if (w != 0)
+ {
+ x0 = ((pixman_fixed_48_16_t)x << 16) / w;
+ y0 = ((pixman_fixed_48_16_t)y << 16) / w;
+ }
+ else
+ {
+ x0 = 0;
+ y0 = 0;
+ }
buffer[i] =
bits_image_fetch_pixel_filtered (&image->bits, x0, y0);