diff --git a/ext/gd/libgd/gd_png.c b/ext/gd/libgd/gd_png.c index 8d5effb5a2f..a5850c65117 100644 --- a/ext/gd/libgd/gd_png.c +++ b/ext/gd/libgd/gd_png.c @@ -561,9 +561,10 @@ gdImagePngCtx (gdImagePtr im, gdIOCtx * outfile) } if (im->trueColor && (!im->saveAlphaFlag) && (transparent >= 0)) { - trans_rgb_value.red = gdTrueColorGetRed (im->trueColor); - trans_rgb_value.green = gdTrueColorGetGreen (im->trueColor); - trans_rgb_value.blue = gdTrueColorGetBlue (im->trueColor); + /* 2.0.9: fixed by Thomas Winzig */ + trans_rgb_value.red = gdTrueColorGetRed (im->transparent); + trans_rgb_value.green = gdTrueColorGetGreen (im->transparent); + trans_rgb_value.blue = gdTrueColorGetBlue (im->transparent); png_set_tRNS (png_ptr, info_ptr, 0, 0, &trans_rgb_value); } if (!im->trueColor)