diff options
author | Pierre Joye <pajoye@php.net> | 2007-08-26 20:35:11 +0000 |
---|---|---|
committer | Pierre Joye <pajoye@php.net> | 2007-08-26 20:35:11 +0000 |
commit | 0d98b9a1d992865e658043d1c66d6e5b92639ca0 (patch) | |
tree | 48a11bb3ee26b675e79a810d9f02b20a2d2448db | |
parent | 9dfb01d3b1b35330ab0e9e964f67f2ad93be5f0e (diff) | |
download | php-git-0d98b9a1d992865e658043d1c66d6e5b92639ca0.tar.gz |
- MFB: gd #106, imagerectangle draws 1x1 rectangles as 1x3 rectangles
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | ext/gd/libgd/gd.c | 6 | ||||
-rw-r--r-- | ext/gd/tests/libgd00106.phpt | 22 |
3 files changed, 29 insertions, 0 deletions
@@ -1,5 +1,6 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| +- Fixed regression in imagerectangle for 1x1 rectangle (gd bug #106) (Pierre) 23 Aug 2007, PHP 5.2.4RC3 - Fixed version_compare() to support "rc" as well as "RC" for release candidate version numbers. diff --git a/ext/gd/libgd/gd.c b/ext/gd/libgd/gd.c index 301072f4e7..6e484adec5 100644 --- a/ext/gd/libgd/gd.c +++ b/ext/gd/libgd/gd.c @@ -2124,6 +2124,12 @@ void gdImageRectangle (gdImagePtr im, int x1, int y1, int x2, int y2, int color) int half1 = 1; int t; + + if (x1 == x2 && y1 == y2 && thick == 1) { + gdImageSetPixel(im, x1, y1, color); + return; + } + if (y2 < y1) { t=y1; y1 = y2; diff --git a/ext/gd/tests/libgd00106.phpt b/ext/gd/tests/libgd00106.phpt new file mode 100644 index 0000000000..65e4692ea3 --- /dev/null +++ b/ext/gd/tests/libgd00106.phpt @@ -0,0 +1,22 @@ +--TEST-- +libgd #106 (imagerectangle 1x1 draws 1x3) +--SKIPIF-- +<?php + if (!extension_loaded('gd')) die("skip gd extension not available\n"); +?> +--FILE-- +<?php +$im = imagecreatetruecolor(10,10); +imagerectangle($im, 1,1, 1,1, 0xFFFFFF); +$c1 = imagecolorat($im, 1,1); +$c2 = imagecolorat($im, 1,2); +$c3 = imagecolorat($im, 2,1); +$c4 = imagecolorat($im, 2,2); +if ($c1 == 0xFFFFFF && $c2 == 0 && $c3 == 0 && $c4 == 0) { + echo "Ok"; +} else { + echo "failed"; +} +?> +--EXPECT-- +Ok |