From: Ferenc Kovacs Date: Wed, 15 Oct 2014 17:43:30 +0000 (+0200) Subject: Merge branch 'PHP-5.6' X-Git-Tag: POST_NATIVE_TLS_MERGE^2~59^2~6 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c03b6e1701caf5c0c7df9dbdd50f6fcc7db15e80;p=php Merge branch 'PHP-5.6' * PHP-5.6: NEWS Fixed Bug #65171 imagescale() fails Revert "Bug #41631: Observe socket read timeouts in SSL streams" --- c03b6e1701caf5c0c7df9dbdd50f6fcc7db15e80 diff --cc ext/gd/gd.c index 54d0254c01,7bf0b757a9..5a820860e6 --- a/ext/gd/gd.c +++ b/ext/gd/gd.c @@@ -5046,11 -5118,23 +5046,23 @@@ PHP_FUNCTION(imagescale return; } method = tmp_m; - new_width = tmp_w; - new_height = tmp_h; - ZEND_FETCH_RESOURCE(im, gdImagePtr, &IM, -1, "Image", le_gd); + ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", le_gd); + if (tmp_h < 0) { + /* preserve ratio */ + long src_x, src_y; + + src_x = gdImageSX(im); + src_y = gdImageSY(im); + if (src_x) { + tmp_h = tmp_w * src_y / src_x; + } + } + + new_width = tmp_w; + new_height = tmp_h; + if (gdImageSetInterpolationMethod(im, method)) { im_scaled = gdImageScale(im, new_width, new_height); }