--- xc/programs/xcursorgen/xcursorgen.c.orig Mon Aug 29 11:02:45 2005 +++ xc/programs/xcursorgen/xcursorgen.c Mon Aug 29 11:03:59 2005 @@ -27,6 +27,7 @@ #include #include #include +#include #include #include @@ -150,9 +151,9 @@ premultiply_data (png_structp png, png_r unsigned char alpha = base[3]; XcursorPixel p; - red = (unsigned) red * (unsigned) alpha / 255; - green = (unsigned) green * (unsigned) alpha / 255; - blue = (unsigned) blue * (unsigned) alpha / 255; + red = (unsigned) rint (red * (alpha / 255.0)); + green = (unsigned) rint (green * (alpha / 255.0)); + blue = (unsigned) rint (blue * (alpha / 255.0)); p = (alpha << 24) | (red << 16) | (green << 8) | (blue << 0); memcpy (base, &p, sizeof (XcursorPixel)); }