summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph M. Becker <cmbecker69@gmx.de>2018-03-30 19:26:07 +0200
committerChristoph M. Becker <cmbecker69@gmx.de>2018-03-30 19:29:10 +0200
commit76f421dd3a6eb91d848d76a6947546da38b6c564 (patch)
tree063d8ead89240904ae7f43fadbfaf2d6f3d0ebfa
parent8b642af484fba85c4e1a1a0a71d7f0c998740002 (diff)
parent9c37d95627f75dc300fd0af5df6c87d6ad92e363 (diff)
downloadphp-git-76f421dd3a6eb91d848d76a6947546da38b6c564.tar.gz
Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1: Fix #52070: imagedashedline() - dashed line sometimes is not visible
-rw-r--r--NEWS4
-rw-r--r--ext/gd/libgd/gd.c1
-rw-r--r--ext/gd/tests/bug52070.phpt25
-rw-r--r--ext/gd/tests/bug52070.pngbin0 -> 2223 bytes
4 files changed, 29 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index e13417c1aa..ce6fb2a05c 100644
--- a/NEWS
+++ b/NEWS
@@ -14,6 +14,10 @@ PHP NEWS
too long). (Jacob Hipps)
. Fixed incorrect write to getenv result in FPM reload. (Jakub Zelenka)
+- GD:
+ . Fixed bug #52070 (imagedashedline() - dashed line sometimes is not visible).
+ (cmb)
+
- mbstring:
. Fixed bug #75944 (Wrong cp1251 detection). (dmk001)
. Fixed bug #76113 (mbstring does not build with Oniguruma 6.8.1).
diff --git a/ext/gd/libgd/gd.c b/ext/gd/libgd/gd.c
index 7877debf95..c96e2085f0 100644
--- a/ext/gd/libgd/gd.c
+++ b/ext/gd/libgd/gd.c
@@ -1338,7 +1338,6 @@ void gdImageDashedLine (gdImagePtr im, int x1, int y1, int x2, int y2, int color
} else {
wid = 1;
}
- wid = (int)(thick * sin(atan2(dy, dx)));
vert = 1;
d = 2 * dy - dx;
diff --git a/ext/gd/tests/bug52070.phpt b/ext/gd/tests/bug52070.phpt
new file mode 100644
index 0000000000..acf56e6b5b
--- /dev/null
+++ b/ext/gd/tests/bug52070.phpt
@@ -0,0 +1,25 @@
+--TEST--
+Bug #52070 (imagedashedline() - dashed line sometimes is not visible)
+--SKIPIF--
+<?php
+if (!extension_loaded('gd')) die('skip gd extension not available');
+?>
+--FILE--
+<?php
+$im = imagecreate(1200, 800);
+$background_color = imagecolorallocate($im, 40, 40, 40);
+$color = imagecolorallocate($im, 255, 255, 255);
+imagedashedline($im, 800, 400, 300, 400, $color);
+imagedashedline($im, 800, 400, 300, 800, $color);
+imagedashedline($im, 800, 400, 400, 800, $color);
+imagedashedline($im, 800, 400, 500, 800, $color);
+imagedashedline($im, 800, 400, 600, 800, $color);
+imagedashedline($im, 800, 400, 700, 800, $color);
+imagedashedline($im, 800, 400, 800, 800, $color);
+include_once __DIR__ . '/func.inc';
+test_image_equals_file(__DIR__ . '/bug52070.png', $im);
+?>
+===DONE===
+--EXPECT--
+The images are equal.
+===DONE===
diff --git a/ext/gd/tests/bug52070.png b/ext/gd/tests/bug52070.png
new file mode 100644
index 0000000000..5ce54b121b
--- /dev/null
+++ b/ext/gd/tests/bug52070.png
Binary files differ