summaryrefslogtreecommitdiff
path: root/vcl
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-02 10:31:35 +0200
commit4caaa09d4da0f7bd5aa0fae3233d66bd977f185e (patch)
tree1ee56f7a837156cf90bac37c7c3732ba67d27794 /vcl
parenta65636c59d7d6c036eb8ae0dee76671198408107 (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
Diffstat (limited to 'vcl')
-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)