widget: clear WA_OutsideWSRange when needed in QWidgetPrivate::create()

which follows the behavior in QWidgetPrivate::setGeometry_sys().

Fixes: QTBUG-129698
Change-Id: Ia85e9470111eea9e3392cdf38c3da2db232ef065
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit def4f827da98d3027c86a8dae27811729767d36a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit a46cb99c6903561bafcb9423a0ea88e59e2520c3)
bb10
Liang Qi 2024-10-07 09:44:56 +02:00 committed by Qt Cherry-pick Bot
parent 523d4c7fa2
commit 873fa9cc84
1 changed files with 6 additions and 3 deletions

View File

@ -1401,9 +1401,12 @@ void QWidgetPrivate::create()
if (data.crect.width() == 0 || data.crect.height() == 0) {
q->setAttribute(Qt::WA_OutsideWSRange, true);
} else if (q->isVisible()) {
// If widget is already shown, set window visible, too
win->setNativeWindowVisibility(true);
} else {
q->setAttribute(Qt::WA_OutsideWSRange, false);
if (q->isVisible()) {
// If widget is already shown, set window visible, too
win->setNativeWindowVisibility(true);
}
}
}