diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2017-04-19 11:28:20 +0200 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2017-04-19 09:40:29 +0000 |
commit | 7da6884ae2f6d8631cef2d825eaa874151100b7b (patch) | |
tree | f97ac8fdcbe773d2644fb2096626dff392767745 /src/quickcontrols2 | |
parent | 19a73f2c5824406021e2ea81b83dcc649a285168 (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/quickcontrols2')
-rw-r--r-- | src/quickcontrols2/qquickcolorimage.cpp | 10 | ||||
-rw-r--r-- | src/quickcontrols2/qquickiconimage.cpp | 10 |
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); + } } } |