diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-10-02 10:31:35 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-10-02 10:31:35 +0200 |
commit | 4caaa09d4da0f7bd5aa0fae3233d66bd977f185e (patch) | |
tree | 1ee56f7a837156cf90bac37c7c3732ba67d27794 | |
parent | a65636c59d7d6c036eb8ae0dee76671198408107 (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
-rw-r--r-- | vcl/source/gdi/bmpacc2.cxx | 6 |
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) |