This patch fixes bug 382396 ("(gmic-qt) Using non-RGBA colorspace results in empty image").
A different code path is taken depending on whether or not the image data to be sent to G'MIC is in the RGBA space.
In the RGBA case, the channel values are scaled to range between 0.0 and 255.0
In the non-RGBA case, the values were not being similarly scaled before this patch.
(In both cases, the image is converted to use 32-bit float RGBA before any scaling is applied.)
This is different from how the old plug-in worked:
Old plug-in
- convertToGmicImageFast() on RGBA image fills gmicImage._data with values between 0.0 and 1.0
- convertToGmicImage() on non-RGBA image fills gmicImage._data with values between 0.0 and 1.0
New plug-in, patched
- convertToGmicImageFast() on RGBA image fills gmicImage->_data with values between 0.0 and 255.0
- convertToGmicImage() on non-RGBA image fills gmicImage->_data with values between 0.0 and 255.0
New plug-in, unpatched
- convertToGmicImageFast() on RGBA image fills gmicImage->_data with values between 0.0 and 255.0
- convertToGmicImage() on non-RGBA image fills gmicImage->_data with values between 0.0 and 1.0