I believe just the division is unsigned with those changes.  The multiplication 
will still be signed.

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

Reply via email to