From: Pierre Joye Date: Wed, 17 Nov 2004 17:13:42 +0000 (+0000) Subject: - Fix #30739, imagefill does not set back the alphablending mode X-Git-Tag: php-4.3.10RC1~16 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b5d739b88b229c7457dc658533647bf4a031114a;p=php - Fix #30739, imagefill does not set back the alphablending mode --- diff --git a/NEWS b/NEWS index 1deb1a5eef..1b02e8d0dd 100644 --- a/NEWS +++ b/NEWS @@ -8,6 +8,7 @@ PHP 4 NEWS - Fixed potential problems with unserializing invalid serialize data. (Marcus) - Fixed bug #30750 (Meaningful error message when upload directory is not accessible). (Ilia) +- Fixed bug #30739 (imagefill does not set back alphablending mode) (Pierre) - Fixed bug #30672 (Problem handling exif data in jpeg images at unusual places). (Marcus) - Fixed bug #30658 (Ensure that temporary files created by GD are removed). diff --git a/ext/gd/libgd/gd.c b/ext/gd/libgd/gd.c index 4ee4a442fc..93a70bff86 100644 --- a/ext/gd/libgd/gd.c +++ b/ext/gd/libgd/gd.c @@ -1896,8 +1896,11 @@ void gdImageFill(gdImagePtr im, int x, int y, int nc) wx2=im->sx;wy2=im->sy; oc = gdImageGetPixel(im, x, y); - if (oc==nc || x<0 || x>wx2 || y<0 || y>wy2) return; - + if (oc==nc || x<0 || x>wx2 || y<0 || y>wy2) { + im->alphaBlendingFlag = alphablending_bak; + return; + } + stack = (struct seg *)emalloc(sizeof(struct seg) * ((int)(im->sy*im->sx)/4)+1); sp = stack;