summaryrefslogtreecommitdiff
path: root/src/gd.c
diff options
context:
space:
mode:
authorChristoph M. Becker <cmbecker69@gmx.de>2016-10-03 16:19:19 +0200
committerChristoph M. Becker <cmbecker69@gmx.de>2016-10-03 16:19:19 +0200
commit65d40f5aa5d2e5c74f2d7bca1fb8ecf60b16830c (patch)
tree793c7139d826b4969cfecbc91319445fad238c69 /src/gd.c
parentddf3b493f1921467e8f650ad4b861c33d1b658db (diff)
downloadlibgd-65d40f5aa5d2e5c74f2d7bca1fb8ecf60b16830c.tar.gz
Fix #319: gdImageRotateInterpolated can have wrong background color
We backport the fix for <https://bugs.php.net/65070>, and also the fix for <https://bugs.php.net/70976> which was introduced by fixing 65070.
Diffstat (limited to 'src/gd.c')
-rw-r--r--src/gd.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gd.c b/src/gd.c
index 0f80faa..e3edf43 100644
--- a/src/gd.c
+++ b/src/gd.c
@@ -4385,6 +4385,12 @@ BGD_DECLARE(int) gdImagePaletteToTrueColor(gdImagePtr src)
src->pixels = NULL;
src->alphaBlendingFlag = 0;
src->saveAlphaFlag = 1;
+
+ if (src->transparent >= 0) {
+ const unsigned char c = src->transparent;
+ src->transparent = gdTrueColorAlpha(src->red[c], src->green[c], src->blue[c], src->alpha[c]);
+ }
+
return 1;
clean_on_error: