pixel-buffer: use double instead of float for scale factor

System Internals / Plymouth - Miroslav Urbanek [miroslavurbanek.com] - 18 November 2015 09:48 UTC

There are strange red and black dots in a 1280x800 splash screen with Debian Jessie theme. The problem comes from image rescaling and is caused by:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=799953

on i386. The conversion from double to int in functions ply_pixel_buffer_resize and ply_pixel_buffer_interpolate happens through an intermediate float. This sometimes results in a truncated
value being larger than the original value.

This commit changes the code to use an intermediate double to work around the bug.

1ed8ec2 pixel-buffer: use double instead of float for scale factor
src/libply-splash-core/ply-pixel-buffer.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Upstream: cgit.freedesktop.org


  • Share