diff --git a/src/gui/platform/darwin/qappleiconengine.mm b/src/gui/platform/darwin/qappleiconengine.mm index 7e0ed184dca..4dd8e42124e 100644 --- a/src/gui/platform/darwin/qappleiconengine.mm +++ b/src/gui/platform/darwin/qappleiconengine.mm @@ -408,9 +408,11 @@ QPixmap QAppleIconEngine::scaledPixmap(const QSize &size, QIcon::Mode mode, QIco m_pixmap.setDevicePixelRatio(scale); m_pixmap.fill(Qt::transparent); - QPainter painter(&m_pixmap); - paint(&painter, QRect(paintOffset.width(), paintOffset.height(), - paintSize.width(), paintSize.height()), mode, state); + if (!m_pixmap.isNull()) { + QPainter painter(&m_pixmap); + paint(&painter, QRect(paintOffset.width(), paintOffset.height(), + paintSize.width(), paintSize.height()), mode, state); + } m_cacheKey = cacheKey; } diff --git a/src/plugins/platforms/android/qandroidplatformiconengine.cpp b/src/plugins/platforms/android/qandroidplatformiconengine.cpp index a88696886dd..ff96e8fc00d 100644 --- a/src/plugins/platforms/android/qandroidplatformiconengine.cpp +++ b/src/plugins/platforms/android/qandroidplatformiconengine.cpp @@ -572,8 +572,10 @@ QPixmap QAndroidPlatformIconEngine::scaledPixmap(const QSize &size, QIcon::Mode m_pixmap.fill(Qt::transparent); m_pixmap.setDevicePixelRatio(scale); - QPainter painter(&m_pixmap); - paint(&painter, QRect(QPoint(), size), mode, state); + if (!m_pixmap.isNull()) { + QPainter painter(&m_pixmap); + paint(&painter, QRect(QPoint(), size), mode, state); + } m_cacheKey = cacheKey; } diff --git a/src/plugins/platforms/windows/qwindowsiconengine.cpp b/src/plugins/platforms/windows/qwindowsiconengine.cpp index 5e5ca22ec18..95971fce952 100644 --- a/src/plugins/platforms/windows/qwindowsiconengine.cpp +++ b/src/plugins/platforms/windows/qwindowsiconengine.cpp @@ -353,8 +353,10 @@ QPixmap QWindowsIconEngine::scaledPixmap(const QSize &size, QIcon::Mode mode, QI m_pixmap.fill(Qt::transparent); m_pixmap.setDevicePixelRatio(scale); - QPainter painter(&m_pixmap); - paint(&painter, QRect(QPoint(), size), mode, state); + if (!m_pixmap.isNull()) { + QPainter painter(&m_pixmap); + paint(&painter, QRect(QPoint(), size), mode, state); + } m_cacheKey = cacheKey; }