History log of /PHP-7.2/ext/gd/libgd/gd.c (Results 1 – 25 of 191)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: php-7.3.13RC1, php-7.2.26RC1, php-7.4.0, php-7.2.25, php-7.3.12, php-7.4.0RC6, php-7.3.12RC1, php-7.2.25RC1, php-7.4.0RC5, php-7.1.33, php-7.2.24, php-7.3.11, php-7.4.0RC4, php-7.3.11RC1, php-7.2.24RC1, php-7.4.0RC3, php-7.2.23, php-7.3.10, php-7.4.0RC2, php-7.2.23RC1, php-7.3.10RC1, php-7.4.0RC1, php-7.1.32, php-7.2.22, php-7.3.9, php-7.4.0beta4, php-7.2.22RC1, php-7.3.9RC1, php-7.4.0beta2, php-7.1.31, php-7.2.21, php-7.3.8, php-7.4.0beta1, php-7.2.21RC1, php-7.3.8RC1, php-7.4.0alpha3, php-7.3.7, php-7.2.20, php-7.4.0alpha2, php-7.3.7RC3, php-7.3.7RC2, php-7.2.20RC2, php-7.4.0alpha1, php-7.3.7RC1, php-7.2.20RC1, php-7.2.19, php-7.3.6, php-7.1.30, php-7.2.19RC1, php-7.3.6RC1, php-7.1.29, php-7.2.18, php-7.3.5, php-7.2.18RC1, php-7.3.5RC1, php-7.2.17, php-7.3.4, php-7.1.28, php-7.3.4RC1, php-7.2.17RC1, php-7.1.27, php-7.3.3, php-7.2.16, php-7.3.3RC1, php-7.2.16RC1, php-7.2.15, php-7.3.2, php-7.2.15RC1, php-7.3.2RC1
# 61cfa34e 16-Jan-2019 Christoph M. Becker

Fix #73614: gdImageFilledArc() doesn't properly draw pies

The fix for PHP bug 43828[1] changed the algorithm from drawing filled
pies from drawing multiple triangles to drawing a single

Fix #73614: gdImageFilledArc() doesn't properly draw pies

The fix for PHP bug 43828[1] changed the algorithm from drawing filled
pies from drawing multiple triangles to drawing a single polygon. Due
to quirks of the filled polygon drawing algorithm, we had to filter out
extraneous vertices. This lead, however, to a bug regarding displaced
starting and ending points near 90° and 270° degrees, which we fix by
reinserting these vertices if they had been removed.

This fix is a port of libgd/libgd@1406b1a.

[1] <https://bugs.php.net/bug.php?id=43828>

show more ...


Revision tags: php-5.6.40, php-7.1.26, php-7.3.1, php-7.2.14, php-7.2.14RC1, php-7.3.1RC1, php-5.6.39, php-7.1.25, php-7.2.13, php-7.0.33, php-7.3.0, php-7.1.25RC1, php-7.2.13RC1, php-7.3.0RC6, php-7.1.24, php-7.2.12, php-7.3.0RC5, php-7.1.24RC1, php-7.2.12RC1, php-7.3.0RC4, php-7.1.23, php-7.2.11, php-7.3.0RC3, php-7.1.23RC1, php-7.2.11RC1, php-7.3.0RC2, php-5.6.38, php-7.1.22, php-7.3.0RC1, php-7.2.10, php-7.0.32, php-7.1.22RC1, php-7.3.0beta3, php-7.2.10RC1, php-7.1.21, php-7.2.9, php-7.3.0beta2, php-7.1.21RC1, php-7.3.0beta1, php-7.2.9RC1, php-5.6.37, php-7.1.20, php-7.3.0alpha4, php-7.0.31, php-7.2.8, php-7.1.20RC1, php-7.2.8RC1, php-7.3.0alpha3, php-7.3.0alpha2, php-7.1.19, php-7.2.7, php-7.1.19RC1, php-7.3.0alpha1, php-7.2.7RC1, php-7.1.18, php-7.2.6, php-7.2.6RC1, php-7.1.18RC1, php-5.6.36, php-7.2.5, php-7.1.17, php-7.0.30, php-7.1.17RC1, php-7.2.5RC1
# 9c37d956 30-Mar-2018 Christoph M. Becker

Fix #52070: imagedashedline() - dashed line sometimes is not visible

We finally remove the inadvertent leftover from the synchronization
with GD 2.0.12.


Revision tags: php-5.6.35, php-7.0.29, php-7.2.4, php-7.1.16, php-7.1.16RC1, php-7.2.4RC1
# d83467d7 02-Mar-2018 Christoph M. Becker

Fix #76041: null pointer access crashed php

We must not draw anti-aliased lines on palette images, because that is
not supported by `gdImageSetAAPixelColor()` and it wouldn't make much

Fix #76041: null pointer access crashed php

We must not draw anti-aliased lines on palette images, because that is
not supported by `gdImageSetAAPixelColor()` and it wouldn't make much
sense to support it, due to the limitation to at most 256 colors.

show more ...


Revision tags: php-7.1.15, php-5.6.34, php-7.2.3, php-7.0.28, php-7.2.3RC1, php-7.1.15RC1, php-7.1.14, php-7.2.2, php-7.1.14RC1, php-7.2.2RC1, php-7.1.13, php-5.6.33, php-7.2.1, php-7.0.27, php-7.2.1RC1, php-7.1.13RC1, php-7.0.27RC1, php-7.2.0, php-7.1.12, php-7.0.26, php-7.1.12RC1, php-7.2.0RC6, php-7.0.26RC1, php-7.1.11, php-5.6.32, php-7.2.0RC5, php-7.0.25, php-7.1.11RC1, php-7.2.0RC4, php-7.0.25RC1, php-7.1.10, php-7.2.0RC3, php-7.0.24, php-7.2.0RC2, php-7.1.10RC1, php-7.0.24RC1, php-7.1.9, php-7.2.0RC1, php-7.0.23, php-7.1.9RC1, php-7.2.0beta3, php-7.0.23RC1, php-7.1.8, php-7.2.0beta2, php-7.0.22, php-7.1.8RC1, php-7.2.0beta1, php-7.0.22RC1, php-5.6.31, php-7.0.21, php-7.1.7, php-7.2.0alpha3, php-7.1.7RC1, php-7.0.21RC1, php-7.2.0alpha2, php-7.1.6, php-7.2.0alpha1, php-7.0.20, php-7.1.6RC1, php-7.0.20RC1, php-7.1.5, php-7.0.19, php-7.0.19RC1, php-7.1.5RC1, php-7.1.4, php-7.0.18, php-7.1.4RC1, php-7.0.18RC1, php-7.1.3, php-7.0.17, php-7.1.3RC1, php-7.0.17RC1, php-7.1.2, php-7.0.16, php-7.0.16RC1, php-7.1.2RC1, php-5.6.30, php-7.0.15, php-5.6.30RC1, php-7.1.1RC1, php-7.0.15RC1, php-7.1.1, php-5.6.29, php-7.0.14, php-7.1.0, php-5.6.29RC1, php-7.0.14RC1, php-7.1.0RC6, php-5.6.28, php-7.0.13, php-5.6.28RC1, php-7.1.0RC5
# 56934749 25-Oct-2016 Christoph M. Becker

Fix #72696: imagefilltoborder stackoverflow on truecolor images

We must not allow negative color values be passed to
gdImageFillToBorder(), because that can lead to infinite recursion

Fix #72696: imagefilltoborder stackoverflow on truecolor images

We must not allow negative color values be passed to
gdImageFillToBorder(), because that can lead to infinite recursion
since the recursion termination condition will not necessarily be met.

(cherry picked from commit 863d37ea66d5c960db08d6f4a2cbd2518f0f80d1)

show more ...


# 1b5543b8 25-Oct-2016 Christoph M. Becker

Fix #72482: Ilegal write/read access caused by gdImageAALine overflow

Instead of rolling our own bounds check we use clip_1d() as it's done
in gdImageLine() and in external libgd. We mus

Fix #72482: Ilegal write/read access caused by gdImageAALine overflow

Instead of rolling our own bounds check we use clip_1d() as it's done
in gdImageLine() and in external libgd. We must not pass the image
width and height, respectively, but rather the largest ordinate value
that is allowed to be accessed, i.e. width-1 and height-1,
respectively.

(cherry picked from commit 6499581af76cfe986e12330faabb3a7c36d45ffc)

show more ...


# 863d37ea 25-Oct-2016 Christoph M. Becker

Fix #72696: imagefilltoborder stackoverflow on truecolor images

We must not allow negative color values be passed to
gdImageFillToBorder(), because that can lead to infinite recursion

Fix #72696: imagefilltoborder stackoverflow on truecolor images

We must not allow negative color values be passed to
gdImageFillToBorder(), because that can lead to infinite recursion
since the recursion termination condition will not necessarily be met.

show more ...


# 6499581a 25-Oct-2016 Christoph M. Becker

Fix #72482: Ilegal write/read access caused by gdImageAALine overflow

Instead of rolling our own bounds check we use clip_1d() as it's done
in gdImageLine() and in external libgd. We mus

Fix #72482: Ilegal write/read access caused by gdImageAALine overflow

Instead of rolling our own bounds check we use clip_1d() as it's done
in gdImageLine() and in external libgd. We must not pass the image
width and height, respectively, but rather the largest ordinate value
that is allowed to be accessed, i.e. width-1 and height-1,
respectively.

show more ...


Revision tags: php-7.0.13RC1, php-7.1.0RC4, php-5.6.27, php-7.0.12
# fa451241 13-Oct-2016 Anatol Belski

fix syslog interference


# 432e16cb 06-Oct-2016 Christoph M. Becker

Unify error handling of bundled and external libgd

There's no need anymore to call an own error handler directly. Instead we
register our error handler and call libgd's error functions (

Unify error handling of bundled and external libgd

There's no need anymore to call an own error handler directly. Instead we
register our error handler and call libgd's error functions (which will
forward). We do this regardless of compiling with the bundled or an external
libgd.

show more ...


# 2a305b38 02-Oct-2016 Christoph M. Becker

Implement request #33066: Add GD Image Function gdImageOpenPolygon()

gdImageOpenPolygon() has been introduced with líbgd 2.0.29, so we finally
add a PHP binding for it, and port the resp

Implement request #33066: Add GD Image Function gdImageOpenPolygon()

gdImageOpenPolygon() has been introduced with líbgd 2.0.29, so we finally
add a PHP binding for it, and port the respective libgd functionality to
PHP's bundled libgd.

show more ...


# 82a8e57f 02-Oct-2016 Christoph M. Becker

Add support for gdEffectMultiply

gdLayerMultiply() has been introduced in libgd 2.1.1, and as such would have
been already available for imagelayereffect() with a system libgd. We port

Add support for gdEffectMultiply

gdLayerMultiply() has been introduced in libgd 2.1.1, and as such would have
been already available for imagelayereffect() with a system libgd. We port
the respective code to the bundled libgd, and also make IMG_EFFECT_MULTIPLY
available to userland.

show more ...


# d0f14a44 02-Oct-2016 Christoph M. Becker

Switch to libgd anti-aliased drawing API

Instead of rolling our own in the bundled libgd, we use libgd's anti-aliased
drawing API. This way imageantialias() is also available, when built

Switch to libgd anti-aliased drawing API

Instead of rolling our own in the bundled libgd, we use libgd's anti-aliased
drawing API. This way imageantialias() is also available, when built against
a system libgd.

show more ...


# 9acfb1a3 30-Sep-2016 Christoph M. Becker

Fix #73213: Integer overflow in imageline() with antialiasing

We port the respective fixes <https://github.com/libgd/libgd/commit/eca37d620>
and <https://github.com/libgd/libgd/commit/83

Fix #73213: Integer overflow in imageline() with antialiasing

We port the respective fixes <https://github.com/libgd/libgd/commit/eca37d620>
and <https://github.com/libgd/libgd/commit/837b7327> to our bundled libgd.

show more ...


# c60cdac6 30-Sep-2016 Christoph M. Becker

Fix overflow checks

We check for the proper sizeofs, cf.
<https://github.com/libgd/libgd/commit/c3cf674c>.


# e3b88970 30-Sep-2016 Christoph M. Becker

Remove further remains of the old antialiasing support

Curiously, while the external GD claims "just a few vestiges after switching
to the fast, memory-cheap implementation from PHP-gd",

Remove further remains of the old antialiasing support

Curiously, while the external GD claims "just a few vestiges after switching
to the fast, memory-cheap implementation from PHP-gd", that stuff was still
in the bundled GD.

show more ...


# 04400b19 30-Sep-2016 Christoph M. Becker

Remove basically effectless gdImageAABlend()

This had already be done for GD 2.0.26 as part of the improved antialiasing
support (<https://boutell.com/gd/manual2.0.26.html#whatsnew2.0.26

Remove basically effectless gdImageAABlend()

This had already be done for GD 2.0.26 as part of the improved antialiasing
support (<https://boutell.com/gd/manual2.0.26.html#whatsnew2.0.26>).

show more ...


Revision tags: php-7.1.0RC3, php-5.6.27RC1, php-7.0.12RC1
# be30c34f 19-Sep-2016 Christoph M. Becker

Sync with libgd wrt. compilation units

* integrate gd_arc.c into gd.c (as of gd-2.1.0-alpha1)
* rename gd_color.c to gd_color_match.c (as of gd-2.1.0-alpha1)
* remove mathmake.c (

Sync with libgd wrt. compilation units

* integrate gd_arc.c into gd.c (as of gd-2.1.0-alpha1)
* rename gd_color.c to gd_color_match.c (as of gd-2.1.0-alpha1)
* remove mathmake.c (as of GD_2_0_34RC1)
* rename xbm.c to gd_xbm.c (as of gd-2.1.0-alpha1)

show more ...


# 932c20fb 19-Sep-2016 Christoph M. Becker

Port variable image resolution support from libgd 2.1.0

The PHP binding for this feature will be submitted as a separate PR.


# 77ba2483 19-Sep-2016 Christoph M. Becker

Port gdImageSetStyle() overflow check from libgd 2.0.29


Revision tags: php-5.6.26
# 04b166a6 15-Sep-2016 Christoph M. Becker

Removed unused function

The earlier gdAlphaBlend() has been replaced with commit 1286d9e2, and has
been renamed to gdAlphaBlendOld(). The old function is, however, not used,
and afte

Removed unused function

The earlier gdAlphaBlend() has been replaced with commit 1286d9e2, and has
been renamed to gdAlphaBlendOld(). The old function is, however, not used,
and after more than 9 years we're pretty sure we won't need it anymore.

show more ...


Revision tags: php-7.1.0RC2, php-7.0.11
# abb90fbc 12-Sep-2016 Christoph M. Becker

Refactor according to libgd

Cf. <https://github.com/libgd/libgd/commit/a3016ad0>.


Revision tags: php-5.6.26RC1, php-7.1.0RC1, php-7.0.11RC1
# d65adac2 21-Aug-2016 Christoph M. Becker

Fix #72913: imagecopy() loses single-color transparency on palette images

The proper code to handle true-color to palette copies is already contained
in gdImageCopy(), so we can simply r

Fix #72913: imagecopy() loses single-color transparency on palette images

The proper code to handle true-color to palette copies is already contained
in gdImageCopy(), so we can simply remove the buggy duplicated code.

show more ...


# 9eb5bbd8 21-Aug-2016 Christoph M. Becker

Fix #66005: imagecopy does not support 1bit transparency on truecolor images

We must not copy transparent pixels, see
<https://github.com/libgd/libgd/commit/daac285c>.


Revision tags: php-7.1.0beta3, php-5.6.25, php-7.0.10, php-7.1.0beta2, php-5.6.25RC1, php-7.0.10RC1, php-7.1.0beta1, php-5.6.24, php-7.0.9, php-5.5.38
# 9cc0a5a9 19-Jul-2016 Pierre Joye

#72482, revert for 5.6 for now


# 828f911e 16-Jul-2016 Christoph M. Becker

Fix #43828: broken transparency of imagearc for truecolor in blendingmode

No pixel of a filled arc must ever be drawn multiple times. Otherwise we get
artifacts regarding transparency. T

Fix #43828: broken transparency of imagearc for truecolor in blendingmode

No pixel of a filled arc must ever be drawn multiple times. Otherwise we get
artifacts regarding transparency. That happens with the current
implementation of gdImageFilledArc() unless gdChord or gdNoFill are set.
When gdPie is set, however, the filled arc is drawn in wedges, which are
polygons of three points, and so some overlap is natural.

To resolve the issue, we stick with the current algorithm of calculating the
wedges, but instead of drawing each polygon separately, we put the relevant
points in a large array, and draw a single polygon. That also is supposed to
improve the performance considerably.

Note that this modification will change the results when gdImageSetStyle()
or gdImageSetBrush() are used, but we believe that this modification is also
an improvement in this regard, even though it still might not make much
sense to use these functions with gdImageFilledArc().

The respective fix for libgd is
<https://github.com/libgd/libgd/commit/e7e20d6>.

show more ...


12345678