Ah, ok. Reviewed-by: Jeremy Huddleston <[email protected]>
On Jan 3, 2012, at 8:42 AM, Emanuele Giaquinta wrote: > On Tue, Jan 03, 2012 at 08:21:32AM -0500, Jeremy Huddleston wrote: >> I believe just the division is unsigned with those changes. The >> multiplication will still be signed. > > No, the type of XRenderColor fields is unsigned short. > >> >> On Jan 2, 2012, at 2:58 PM, Emanuele Giaquinta wrote: >> >>> Due to C arithmetic conversion rules we must use an unsigned constant (or a >>> cast) to perform the multiplication using unsigned arithmetic. >>> --- >>> src/Color.c | 6 +++--- >>> 1 files changed, 3 insertions(+), 3 deletions(-) >>> >>> diff --git a/src/Color.c b/src/Color.c >>> index 9c76e58..23ef800 100644 >>> --- a/src/Color.c >>> +++ b/src/Color.c >>> @@ -85,8 +85,8 @@ XRenderParseColor(Display *dpy, char *spec, XRenderColor >>> *def) >>> def->blue = coreColor.blue; >>> def->alpha = 0xffff; >>> } >>> - def->red = (def->red * def->alpha) / 65535; >>> - def->green = (def->green * def->alpha) / 65535; >>> - def->blue = (def->blue * def->alpha) / 65535; >>> + def->red = (def->red * def->alpha) / 0xffffU; >>> + def->green = (def->green * def->alpha) / 0xffffU; >>> + def->blue = (def->blue * def->alpha) / 0xffffU; >>> return 1; >>> } >>> -- >>> 1.7.7.3 >>> _______________________________________________ >>> [email protected]: X.Org development >>> Archives: http://lists.x.org/archives/xorg-devel >>> Info: http://lists.x.org/mailman/listinfo/xorg-devel >>> >> > _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
