From 6bfdfea6d6c72d5ed4be8c60e8dcad150d3f1e8f Mon Sep 17 00:00:00 2001 From: Wladimir Leuschner Date: Fri, 16 Feb 2024 23:49:06 +0100 Subject: [PATCH] QWindows11Style: Set mask for MDI Window only in case widget is valid Fixes: QTBUG-122398 Pick-to: 6.7 Change-Id: I3f7e01548f4a243b2356cbc1e669384fce1d1261 Reviewed-by: Friedemann Kleint --- .../styles/modernwindows/qwindows11style.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/plugins/styles/modernwindows/qwindows11style.cpp b/src/plugins/styles/modernwindows/qwindows11style.cpp index 464269fd5f1..6da6460536f 100644 --- a/src/plugins/styles/modernwindows/qwindows11style.cpp +++ b/src/plugins/styles/modernwindows/qwindows11style.cpp @@ -941,15 +941,17 @@ void QWindows11Style::drawPrimitive(PrimitiveElement element, const QStyleOption secondLevelRoundingRadius); //Draw Mask - QBitmap mask(widget->width(), widget->height()); - mask.clear(); + if (widget != nullptr) { + QBitmap mask(widget->width(), widget->height()); + mask.clear(); - QPainter maskPainter(&mask); - maskPainter.setRenderHint(QPainter::Antialiasing); - maskPainter.setBrush(Qt::color1); - maskPainter.setPen(Qt::NoPen); - maskPainter.drawRoundedRect(option->rect,secondLevelRoundingRadius,secondLevelRoundingRadius); - const_cast(widget)->setMask(mask); + QPainter maskPainter(&mask); + maskPainter.setRenderHint(QPainter::Antialiasing); + maskPainter.setBrush(Qt::color1); + maskPainter.setPen(Qt::NoPen); + maskPainter.drawRoundedRect(option->rect,secondLevelRoundingRadius,secondLevelRoundingRadius); + const_cast(widget)->setMask(mask); + } //Draw Window painter->setPen(QPen(frm->palette.base(), fwidth));