cvs: php-src(PHP_5_2) /ext/gd/libgd gd.c
| From: | Pierre-Alain Joye | Date: | Tue, 14 Nov 2006 13:45:24 +0000 |
| Subject: | cvs: php-src(PHP_5_2) /ext/gd/libgd gd.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-41544@lists.php.net to get a copy of this message | ||
pajoye Tue Nov 14 13:45:24 2006 UTC
Modified files: (Branch: PHP_5_2)
/php-src/ext/gd/libgd gd.c
Log:
- #39508, do not use the 4 neighbors implementation for small images (w<4)
test will follow
http://cvs.php.net/viewvc.cgi/php-src/ext/gd/libgd/gd.c?r1=1.90.2.1.2.5&r2=1.90.2.1.2.6&diff_format=u
Index: php-src/ext/gd/libgd/gd.c
diff -u php-src/ext/gd/libgd/gd.c:1.90.2.1.2.5 php-src/ext/gd/libgd/gd.c:1.90.2.1.2.6
--- php-src/ext/gd/libgd/gd.c:1.90.2.1.2.5 Sat Nov 4 14:27:07 2006
+++ php-src/ext/gd/libgd/gd.c Tue Nov 14 13:45:24 2006
@@ -1931,6 +1931,29 @@
return;
}
+ /* Do not use the 4 neighbors implementation with
+ * small images
+ */
+ if (im->sx < 4) {
+ int ix = x, iy = y, c;
+ do {
+ c = gdImageGetPixel(im, ix, iy);
+ if (c != oc) {
+ return;
+ }
+ gdImageSetPixel(im, ix, iy, nc);
+ } while(ix++ < (im->sx -1));
+ ix = x; iy = y + 1;
+ do {
+ c = gdImageGetPixel(im, ix, iy);
+ if (c != oc) {
+ return;
+ }
+ gdImageSetPixel(im, ix, iy, nc);
+ } while(ix++ < (im->sx -1));
+ return;
+ }
+
stack = (struct seg *)safe_emalloc(sizeof(struct seg), ((int)(im->sy*im->sx)/4), 1);
sp = stack;