com php-src: fix regression, take #2 (merge issue due to git 1.8 default setting changes): ext/gd/gd.c ext/gd/libgd/gd.h ext/gd/libgd/gd
_interpolation.c
| From: | Pierre Joye | Date: | Tue, 26 Mar 2013 10:23:15 +0000 |
| Subject: | com php-src: fix regression, take #2 (merge issue due to git 1.8 default setting changes): ext/gd/gd.c ext/gd/libgd/gd.h ext/gd/libgd/gd _interpolation.c |
||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-71754@lists.php.net to get a copy of this message | ||
Commit: 5ae6f582fb9af6e93ecd7001646553ae98be6275
Author: Pierre Joye <pierre.php@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) {