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:
Caolán McNamara
2017-07-28 10:07:50 +01:00
parent 5e975f671b
commit c2e7df1ce8

View File

@@ -1128,7 +1128,6 @@ void TIFFReader::MakePalCol()
nNumColors = nLargestPixelIndex + 1;
}
pAcc->SetPaletteEntryCount(nNumColors);
for (sal_uInt32 i = 0; i < nNumColors; ++i)
{
sal_uInt32 nVal = ( i * 255 / ( nNumColors - 1 ) ) & 0xff;
@@ -1139,6 +1138,7 @@ void TIFFReader::MakePalCol()
xColorMap[nNumColors - i - 1] = n0RGB;
}
}
pAcc->SetPaletteEntryCount(std::max<sal_uInt16>(nNumColors, pAcc->GetPaletteEntryCount()));
for (sal_uInt32 i = 0; i < nNumColors; ++i)
{
pAcc->SetPaletteColor(i, BitmapColor( (sal_uInt8)( xColorMap[ i ] >> 16 ),