summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre Joye <pierre.php@gmail.com>2013-03-26 11:23:15 +0100
committerPierre Joye <pierre.php@gmail.com>2013-03-26 11:23:15 +0100
commit5ae6f582fb9af6e93ecd7001646553ae98be6275 (patch)
tree1da03e311674105ac6e3e8a7d0351a7f6371b2d0
parentc6e911e1549ba23158249ef1c0e6f27dcc6c88bb (diff)
downloadphp-git-5ae6f582fb9af6e93ecd7001646553ae98be6275.tar.gz
fix regression, take #2 (merge issue due to git 1.8 default setting changes)
-rw-r--r--ext/gd/gd.c2
-rw-r--r--ext/gd/libgd/gd.h1
-rw-r--r--ext/gd/libgd/gd_interpolation.c4
3 files changed, 6 insertions, 1 deletions
diff --git a/ext/gd/gd.c b/ext/gd/gd.c
index caf84e304e..23a6ec9143 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 28c8562f66..0bd8ad336d 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 c88dc7251e..d805ec93e6 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) {