ofz#2766 ensure palette is large enough for all colors
Change-Id: I4669b473f5975ac74a37025f7c936f13bcfea420 Reviewed-on: https://gerrit.libreoffice.org/40511 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
This commit is contained in:
@@ -1128,7 +1128,6 @@ void TIFFReader::MakePalCol()
|
|||||||
nNumColors = nLargestPixelIndex + 1;
|
nNumColors = nLargestPixelIndex + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
pAcc->SetPaletteEntryCount(nNumColors);
|
|
||||||
for (sal_uInt32 i = 0; i < nNumColors; ++i)
|
for (sal_uInt32 i = 0; i < nNumColors; ++i)
|
||||||
{
|
{
|
||||||
sal_uInt32 nVal = ( i * 255 / ( nNumColors - 1 ) ) & 0xff;
|
sal_uInt32 nVal = ( i * 255 / ( nNumColors - 1 ) ) & 0xff;
|
||||||
@@ -1139,6 +1138,7 @@ void TIFFReader::MakePalCol()
|
|||||||
xColorMap[nNumColors - i - 1] = n0RGB;
|
xColorMap[nNumColors - i - 1] = n0RGB;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
pAcc->SetPaletteEntryCount(std::max<sal_uInt16>(nNumColors, pAcc->GetPaletteEntryCount()));
|
||||||
for (sal_uInt32 i = 0; i < nNumColors; ++i)
|
for (sal_uInt32 i = 0; i < nNumColors; ++i)
|
||||||
{
|
{
|
||||||
pAcc->SetPaletteColor(i, BitmapColor( (sal_uInt8)( xColorMap[ i ] >> 16 ),
|
pAcc->SetPaletteColor(i, BitmapColor( (sal_uInt8)( xColorMap[ i ] >> 16 ),
|
||||||
|
Reference in New Issue
Block a user