Commit:    b54b6e30a4e46d9dd1f1bf0cbc0d4539c0f7d51d
Author:    unknown <paj...@php.net>         Mon, 9 Sep 2013 11:56:05 +0200
Parents:   8d860c121810d6a10380241a0a51387966a503ca
Branches:  PHP-5.5 master

Link:       
http://git.php.net/?p=php-src.git;a=commitdiff;h=b54b6e30a4e46d9dd1f1bf0cbc0d4539c0f7d51d

Log:
ensure that the defined interpolation method is used by the generic scaling 
functions

Changed paths:
  M  NEWS
  M  ext/gd/libgd/gd_interpolation.c


Diff:
diff --git a/NEWS b/NEWS
index 817f9f7..8655571 100644
--- a/NEWS
+++ b/NEWS
@@ -30,6 +30,9 @@ PHP                                                           
             NEWS
   . Fixed bug #65564 (stack-buffer-overflow in DateTimeZone stuff caught
     by AddressSanitizer). (Remi).
 
+- GD
+  . Ensure that the defined interpolation method is used with the generic 
scaling methods (Pierre)
+
 - OPCache:
   . Fixed bug #65561 (Zend Opcache on Solaris 11 x86 needs 
ZEND_MM_ALIGNMENT=4).
     (Terry Ellison)
diff --git a/ext/gd/libgd/gd_interpolation.c b/ext/gd/libgd/gd_interpolation.c
index e3247a7..3643535 100644
--- a/ext/gd/libgd/gd_interpolation.c
+++ b/ext/gd/libgd/gd_interpolation.c
@@ -1065,6 +1065,7 @@ gdImagePtr gdImageScaleTwoPass(const gdImagePtr src, 
const unsigned int src_widt
        if (tmp_im == NULL) {
                return NULL;
        }
+       gdImageSetInterpolationMethod(tmp_im, src->interpolation_id);
        _gdScaleHoriz(src, src_width, src_height, tmp_im, new_width, 
src_height);
 
        dst = gdImageCreateTrueColor(new_width, new_height);
@@ -1072,6 +1073,7 @@ gdImagePtr gdImageScaleTwoPass(const gdImagePtr src, 
const unsigned int src_widt
                gdFree(tmp_im);
                return NULL;
        }
+       gdImageSetInterpolationMethod(dst, src->interpolation_id);
        _gdScaleVert(tmp_im, new_width, src_height, dst, new_width, new_height);
        gdFree(tmp_im);
 
@@ -1086,8 +1088,9 @@ gdImagePtr Scale(const gdImagePtr src, const unsigned int 
src_width, const unsig
        if (tmp_im == NULL) {
                return NULL;
        }
-       _gdScaleHoriz(src, src_width, src_height, tmp_im, new_width, 
src_height);
+       gdImageSetInterpolationMethod(tmp_im, src->interpolation_id);
 
+       _gdScaleHoriz(src, src_width, src_height, tmp_im, new_width, 
src_height);
        _gdScaleVert(tmp_im, new_width, src_height, dst, new_width, new_height);
 
        gdFree(tmp_im);


--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to