aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2017-04-19 11:28:20 +0200
committerJ-P Nurmi <jpnurmi@qt.io>2017-04-19 09:40:29 +0000
commit7da6884ae2f6d8631cef2d825eaa874151100b7b (patch)
treef97ac8fdcbe773d2644fb2096626dff392767745 /src
parent19a73f2c5824406021e2ea81b83dcc649a285168 (diff)
QQuickXxxImage: don't attempt to colorize null images
QPainter threw such warnings: QPainter::begin: Paint device returned engine == 0, type: 3 QPainter::setCompositionMode: Painter not active Task-number: QTBUG-60200 Change-Id: I2cdedb7a547d0c069964929663297c969de9b2a7 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/quickcontrols2/qquickcolorimage.cpp10
-rw-r--r--src/quickcontrols2/qquickiconimage.cpp10
2 files changed, 12 insertions, 8 deletions
diff --git a/src/quickcontrols2/qquickcolorimage.cpp b/src/quickcontrols2/qquickcolorimage.cpp
index cd3513bf..430ba6ea 100644
--- a/src/quickcontrols2/qquickcolorimage.cpp
+++ b/src/quickcontrols2/qquickcolorimage.cpp
@@ -67,10 +67,12 @@ void QQuickColorImage::pixmapChange()
if (m_color.alpha() > 0) {
QQuickImageBasePrivate *d = static_cast<QQuickImageBasePrivate *>(QQuickItemPrivate::get(this));
QImage image = d->pix.image();
- QPainter painter(&image);
- painter.setCompositionMode(QPainter::CompositionMode_SourceIn);
- painter.fillRect(image.rect(), m_color);
- d->pix.setImage(image);
+ if (!image.isNull()) {
+ QPainter painter(&image);
+ painter.setCompositionMode(QPainter::CompositionMode_SourceIn);
+ painter.fillRect(image.rect(), m_color);
+ d->pix.setImage(image);
+ }
}
}
diff --git a/src/quickcontrols2/qquickiconimage.cpp b/src/quickcontrols2/qquickiconimage.cpp
index 5709e057..d392b72a 100644
--- a/src/quickcontrols2/qquickiconimage.cpp
+++ b/src/quickcontrols2/qquickiconimage.cpp
@@ -201,10 +201,12 @@ void QQuickIconImage::pixmapChange()
if (d->color.alpha() > 0) {
QImage image = d->pix.image();
- QPainter painter(&image);
- painter.setCompositionMode(QPainter::CompositionMode_SourceIn);
- painter.fillRect(image.rect(), d->color);
- d->pix.setImage(image);
+ if (!image.isNull()) {
+ QPainter painter(&image);
+ painter.setCompositionMode(QPainter::CompositionMode_SourceIn);
+ painter.fillRect(image.rect(), d->color);
+ d->pix.setImage(image);
+ }
}
}