From: Christoph M. Becker Date: Mon, 29 Apr 2019 15:23:16 +0000 (+0200) Subject: Fix #77943: imageantialias($image, false); does not work X-Git-Tag: php-7.3.6RC1~22^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=18a9ae412f00cc1e312c296952fac24f16b4d4de;p=php Fix #77943: imageantialias($image, false); does not work Firstly, we must not call `gdImageSetAntiAliased()` (which sets the color to anti-alias), but rather modify the `gdImage.AA` flag. Furthermore, we have to actually use the supplied boolean value. We also make sure that we don't attempt to enable anti-aliasing for palette images. --- diff --git a/NEWS b/NEWS index 3024c268ef..3a8ba47533 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,9 @@ PHP NEWS - FPM: . Fixed bug #77921 (static.php.net doesn't work anymore). (Peter Kokot) +- GD: + . Fixed bug #77943 (imageantialias($image, false); does not work). (cmb) + - JSON: . Fixed bug #77843 (Use after free with json serializer). (Nikita) diff --git a/ext/gd/gd.c b/ext/gd/gd.c index 50d4745371..231fcac381 100644 --- a/ext/gd/gd.c +++ b/ext/gd/gd.c @@ -4699,7 +4699,11 @@ PHP_FUNCTION(imageantialias) if ((im = (gdImagePtr)zend_fetch_resource(Z_RES_P(IM), "Image", le_gd)) == NULL) { RETURN_FALSE; } - gdImageSetAntiAliased(im, 0); + + if (im->trueColor) { + im->AA = alias; + } + RETURN_TRUE; } /* }}} */