Testing on other devices needed this fix, but i dont know why because the pixels should be overwritten,
bool OpenGLFrameBuffer::initialise (OpenGLContext& context, const Image& image)
{
if (! image.isARGB())
return initialise (context, image.convertedToFormat (Image::ARGB));
Image::BitmapData bitmap (image, Image::BitmapData::readOnly);
bool v = initialise (context, bitmap.width, bitmap.height);
if (v)
{
clear (Colours::transparentBlack); // fix but why?
v = writePixels ((const PixelARGB*) bitmap.data, image.getBounds());
}
return v;
}
This fixes corruption in the alpha channel.
