Commit:    5ae6f582fb9af6e93ecd7001646553ae98be6275
Author:    Pierre Joye <pierre....@gmail.com>         Tue, 26 Mar 2013 11:23:15 
+0100
Parents:   c6e911e1549ba23158249ef1c0e6f27dcc6c88bb
Branches:  PHP-5.5 master

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

Log:
fix regression, take #2 (merge issue due to git 1.8 default setting changes)

Bugs:
https://bugs.php.net/2

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


Diff:
diff --git a/ext/gd/gd.c b/ext/gd/gd.c
index caf84e3..23a6ec9 100644
--- a/ext/gd/gd.c
+++ b/ext/gd/gd.c
@@ -2263,7 +2263,7 @@ PHP_FUNCTION(imagerotate)
 
        ZEND_FETCH_RESOURCE(im_src, gdImagePtr, &SIM, -1, "Image", le_gd);
 
-       im_dst = gdImageRotateGeneric(im_src, (float)degrees, color);
+       im_dst = gdImageRotateInterpolated(im_src, (float)degrees, color);
 
        if (im_dst != NULL) {
                ZEND_REGISTER_RESOURCE(return_value, im_dst, le_gd);
diff --git a/ext/gd/libgd/gd.h b/ext/gd/libgd/gd.h
index 28c8562..0bd8ad3 100644
--- a/ext/gd/libgd/gd.h
+++ b/ext/gd/libgd/gd.h
@@ -690,6 +690,7 @@ gdImagePtr gdImageRotate180(gdImagePtr src, int 
ignoretransparent);
 gdImagePtr gdImageRotate270(gdImagePtr src, int ignoretransparent);
 gdImagePtr gdImageRotate45(gdImagePtr src, double dAngle, int clrBack, int 
ignoretransparent);
 gdImagePtr gdImageRotate (gdImagePtr src, double dAngle, int clrBack, int 
ignoretransparent);
+gdImagePtr gdImageRotateInterpolated(const gdImagePtr src, const float angle, 
int bgcolor);
 
 void gdImageSetBrush(gdImagePtr im, gdImagePtr brush);
 void gdImageSetTile(gdImagePtr im, gdImagePtr tile);
diff --git a/ext/gd/libgd/gd_interpolation.c b/ext/gd/libgd/gd_interpolation.c
index c88dc72..d805ec9 100644
--- a/ext/gd/libgd/gd_interpolation.c
+++ b/ext/gd/libgd/gd_interpolation.c
@@ -2166,6 +2166,10 @@ gdImagePtr gdImageRotateBicubicFixed(gdImagePtr src, 
const float degrees, const
 gdImagePtr gdImageRotateInterpolated(const gdImagePtr src, const float angle, 
int bgcolor)
 {
        const int angle_rounded = (int)floor(angle * 100);
+       
+       if (bgcolor < 0) {
+               return NULL;
+       }
 
        /* no interpolation needed here */
        switch (angle_rounded) {


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

Reply via email to