summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Jackson <ajax@redhat.com>2019-10-15 16:30:27 -0400
committerAdam Jackson <ajax@redhat.com>2019-10-15 16:31:45 -0400
commit4897ad0a3fe08a3dcdc8b76082f6d3a85d95bf52 (patch)
treeab7ca964c9f75bf1879155eb29e25fa586e14413
parent7eb9c8c004d528fe2e94b75507aef229ccb79d21 (diff)
downloadpixman-4897ad0a3fe08a3dcdc8b76082f6d3a85d95bf52.tar.gz
pixman-gradient-walker: Fix undefined left shift
../pixman/pixman-gradient-walker.c:216:35: runtime error: left shift of 163 by 24 places cannot be represented in type 'int'
-rw-r--r--pixman/pixman-gradient-walker.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/pixman/pixman-gradient-walker.c b/pixman/pixman-gradient-walker.c
index af4df58..fb7f401 100644
--- a/pixman/pixman-gradient-walker.c
+++ b/pixman/pixman-gradient-walker.c
@@ -213,10 +213,10 @@ pixman_gradient_walker_pixel_32 (pixman_gradient_walker_t *walker,
f.g = f.a * (walker->g_s * y + walker->g_b);
f.b = f.a * (walker->b_s * y + walker->b_b);
- return (((uint8_t)(f.a + .5f) << 24) & 0xff000000) |
- (((uint8_t)(f.r + .5f) << 16) & 0x00ff0000) |
- (((uint8_t)(f.g + .5f) << 8) & 0x0000ff00) |
- (((uint8_t)(f.b + .5f) >> 0) & 0x000000ff);
+ return (((uint32_t)(f.a + .5f) << 24) & 0xff000000) |
+ (((uint32_t)(f.r + .5f) << 16) & 0x00ff0000) |
+ (((uint32_t)(f.g + .5f) << 8) & 0x0000ff00) |
+ (((uint32_t)(f.b + .5f) >> 0) & 0x000000ff);
}
void