diff options
Diffstat (limited to 'debian/patches/0040_nx-X11_Fix-alpha-premultiplication-in-XRenderPa.full.patch')
-rw-r--r-- | debian/patches/0040_nx-X11_Fix-alpha-premultiplication-in-XRenderPa.full.patch | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/debian/patches/0040_nx-X11_Fix-alpha-premultiplication-in-XRenderPa.full.patch b/debian/patches/0040_nx-X11_Fix-alpha-premultiplication-in-XRenderPa.full.patch new file mode 100644 index 000000000..eadfdeaa3 --- /dev/null +++ b/debian/patches/0040_nx-X11_Fix-alpha-premultiplication-in-XRenderPa.full.patch @@ -0,0 +1,31 @@ +commit ffc87da60b2262432d56f15332b3edd15b7e00b2 +Author: Emanuele Giaquinta <emanuele.giaquinta@gmail.com> +Date: Tue Jun 23 16:09:50 2015 +0200 + + Fix alpha premultiplication in XRenderParseColor. + + Due to C arithmetic conversion rules we must use an unsigned constant (or a + cast) to perform the multiplication using unsigned arithmetic. + + Fixes ArcticaProject/nx-libs#55. + + Author: Emanuele Giaquinta <emanuele.giaquinta@gmail.com> + Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com> + Rebased against NX: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> + + v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) + +--- a/nx-X11/lib/Xrender/Color.c ++++ b/nx-X11/lib/Xrender/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; + } |