QWidget: Don't offset the clip region for windows using effects
When a top-level widget has a graphic effect applied, QWidgetPrivate::clipToEffectiveMask() must not use the parent widget for the mask calculation as this prevents the loop below from bailing out in the first loop (w->isWindow()) and might mess up the clip region when there is a widget with a mask in the parent chain. Pick-to: 6.9 6.8 Fixes: QTBUG-131893 Change-Id: I5d5777e730bee309db21ad5eb65387d19321ee6c Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
This commit is contained in:
parent
3bff7e575e
commit
49f462b7f8
@ -2113,7 +2113,7 @@ void QWidgetPrivate::clipToEffectiveMask(QRegion ®ion) const
|
||||
QPoint offset;
|
||||
|
||||
#if QT_CONFIG(graphicseffect)
|
||||
if (graphicsEffect) {
|
||||
if (graphicsEffect && !w->isWindow()) {
|
||||
w = q->parentWidget();
|
||||
offset -= data.crect.topLeft();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user