summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2015-10-02 10:31:35 +0200
committerMiklos Vajna <vmiklos@collabora.co.uk>2015-10-07 10:57:22 +0200
commit72852df904bf1bf3efcde20371a0414052a798d8 (patch)
treed502c24071d938463f54bca4bfdb24e4266e0288
parent07d2ca25fe7d4ac0d0b809d8b5a1e5d73583e099 (diff)
vcl tiled rendering: avoid 'Pixel represents color values!' warnings
Which happens e.g. during rendering tiles: OutputDevice::BlendBitmapWithAlpha() produces an RGB alpha (255,255,255), then tries to set a pixel in the 8bit alpha channel using it, so when BitmapReadAccess::SetPixelFor_8BIT_PAL() tries to get the color index, we try to get it from a color that is not indexed. Let's assume that when the color is not indexed, it's always gray, so it doesn't matter what color we pick for the alpha mask needs. Change-Id: I325c1d70514fd176fdc9cc39683b444447adf07f (cherry picked from commit 4caaa09d4da0f7bd5aa0fae3233d66bd977f185e)
-rw-r--r--vcl/source/gdi/bmpacc2.cxx6
1 files changed, 5 insertions, 1 deletions
diff --git a/vcl/source/gdi/bmpacc2.cxx b/vcl/source/gdi/bmpacc2.cxx
index d664c4b769fd..286ea8fca26a 100644
--- a/vcl/source/gdi/bmpacc2.cxx
+++ b/vcl/source/gdi/bmpacc2.cxx
@@ -79,7 +79,11 @@ BitmapColor BitmapReadAccess::GetPixelFor_8BIT_PAL(ConstScanline pScanline, long
void BitmapReadAccess::SetPixelFor_8BIT_PAL(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask&)
{
- pScanline[ nX ] = rBitmapColor.GetIndex();
+ if (rBitmapColor.IsIndex())
+ pScanline[ nX ] = rBitmapColor.GetIndex();
+ else
+ // Let's hope that the RGB color values equal, so it doesn't matter what do we pick
+ pScanline[ nX ] = rBitmapColor.GetBlueOrIndex();
}
BitmapColor BitmapReadAccess::GetPixelFor_8BIT_TC_MASK(ConstScanline pScanline, long nX, const ColorMask& rMask)