summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vcl/source/bitmap/BitmapColorQuantizationFilter.cxx13
1 files changed, 8 insertions, 5 deletions
diff --git a/vcl/source/bitmap/BitmapColorQuantizationFilter.cxx b/vcl/source/bitmap/BitmapColorQuantizationFilter.cxx
index 13e88341c0d9..643354515f06 100644
--- a/vcl/source/bitmap/BitmapColorQuantizationFilter.cxx
+++ b/vcl/source/bitmap/BitmapColorQuantizationFilter.cxx
@@ -8,6 +8,10 @@
*
*/
+#include <sal/config.h>
+
+#include <algorithm>
+
#include <vcl/bitmap.hxx>
#include <vcl/bitmapex.hxx>
#include <vcl/BitmapColorQuantizationFilter.hxx>
@@ -32,10 +36,9 @@ BitmapEx BitmapColorQuantizationFilter::execute(BitmapEx const& aBitmapEx)
Bitmap::ScopedReadAccess pRAcc(aBitmap);
sal_uInt16 nBitCount;
- if (mnNewColorCount > 256)
- mnNewColorCount = 256;
+ auto const cappedNewColorCount = std::min(mnNewColorCount, sal_uInt16(256));
- if (mnNewColorCount < 17)
+ if (cappedNewColorCount < 17)
nBitCount = 4;
else
nBitCount = 8;
@@ -104,7 +107,7 @@ BitmapEx BitmapColorQuantizationFilter::execute(BitmapEx const& aBitmapEx)
}
}
- BitmapPalette aNewPal(mnNewColorCount);
+ BitmapPalette aNewPal(cappedNewColorCount);
std::qsort(pCountTable.get(), nTotalColors, sizeof(PopularColorCount),
[](const void* p1, const void* p2) {
@@ -122,7 +125,7 @@ BitmapEx BitmapColorQuantizationFilter::execute(BitmapEx const& aBitmapEx)
return nRet;
});
- for (sal_uInt16 n = 0; n < mnNewColorCount; n++)
+ for (sal_uInt16 n = 0; n < cappedNewColorCount; n++)
{
const PopularColorCount& rPop = pCountTable[n];
aNewPal[n] = BitmapColor(