summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEirik Aavitsland <eirik.aavitsland@qt.io>2021-03-19 11:09:28 +0100
committerQt CI Bot <qt_ci_bot@qt-project.org>2021-03-19 18:09:23 +0000
commitac175ff48321509b5062533b75b3789c9a014dba (patch)
tree375c7f654e5a1fa519341c985f95e92222253f71 /src
parente415939abf6c6a054a90e8a87bec8cd14bf183d9 (diff)
parente08eaf2c10135b204ee64ebec26d702c729d8545 (diff)
Merge "paintengine: improve error handling"
Diffstat (limited to 'src')
-rw-r--r--src/gui/painting/qpaintengine_raster.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gui/painting/qpaintengine_raster.cpp b/src/gui/painting/qpaintengine_raster.cpp
index 26f8de5b8b0..19a0fac9726 100644
--- a/src/gui/painting/qpaintengine_raster.cpp
+++ b/src/gui/painting/qpaintengine_raster.cpp
@@ -3745,6 +3745,8 @@ QImage QRasterBuffer::colorizeBitmap(const QImage &image, const QColor &color)
const QImage sourceImage = image.convertToFormat(QImage::Format_MonoLSB);
QImage dest = QImage(sourceImage.size(), QImage::Format_ARGB32_Premultiplied);
+ if (sourceImage.isNull() || dest.isNull())
+ return image; // we must have run out of memory
QRgb fg = qPremultiply(color.rgba());
QRgb bg = 0;
@@ -3754,8 +3756,6 @@ QImage QRasterBuffer::colorizeBitmap(const QImage &image, const QColor &color)
for (int y=0; y<height; ++y) {
const uchar *source = sourceImage.constScanLine(y);
QRgb *target = reinterpret_cast<QRgb *>(dest.scanLine(y));
- if (!source || !target)
- QT_THROW(std::bad_alloc()); // we must have run out of memory
for (int x=0; x < width; ++x)
target[x] = (source[x>>3] >> (x&7)) & 1 ? fg : bg;
}