qt6-bb10/src
Tor Arne Vestbø 1308f7e0b1 QWidgetWindow: Don't meddle with WA_WState_{Hidden/ExplicitShowHide}
In ccd3bf0871 we introduced code that would
ensure that our call to QWidgetPrivate::setVisible() from QWidgetWindow
would not result in WA_WState_Hidden being set. This code was later
modified in 51300566ff to apply to
widgets that were explicitly shown/hidden.

Unfortunately, the reset of the Hidden and ExplicitShowHide attributes
would in some cases result in the widget having only ExplicitShowHide
after being hidden, which is an invalid state.

It also resulted in the widget having both Visible, Hidden, and
ExplicitShowHide, if first being hidden via QWidget, and then
shown via QWindow, which in turn prevented the widget from being
hidden via QWidget::hide().

As we no longer rely on the adjustments to Hidden/ExplicitShowHide
to fix QTBUG-73021, we can remove the entire logic. Any setVisible
call to QWidgetWindow will either come from outside, in which case
we should respect that and set Visible/Hidden via QWidgetPrivate,
or the setVisible call is a result of QWidget itself (or its parent)
showing the QWidgetWindow, in which case the QWidget visible state
is already up to date and we skip the QWidgetPrivate::setVisible
call.

Task-number: QTBUG-121398
Task-number: QTBUG-73021
Fixes: QTBUG-120316
Pick-to: 6.7
Change-Id: I3174ad66b7e10c55aa99b7cb433267632169ca8f
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2024-02-12 21:09:18 +01:00
..
3rdparty Update bundled libpng to version 1.6.42 2024-02-07 09:04:18 +01:00
android Android: Remove unused QtLayout.TouchListener 2024-02-12 08:51:01 +02:00
assets Introduce NO_GENERATE_CPP_EXPORTS argument for qt_internal_add_module 2024-02-09 23:00:04 +01:00
concurrent Fix QThreadPool::maxThreadCount() usage 2024-01-08 18:29:26 +01:00
corelib QLocal8Bit::convertFromUnicode[win]: support more than 2Gi input 2024-02-12 19:12:25 +01:00
dbus QDBusAdaptors/Doc: fix missing preposition "in" in documentation 2024-02-10 02:39:14 -08:00
entrypoint src: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-10 23:36:51 +01:00
gui QVulkanWindow::setEnabledFeatures2Modifier(): pass parameter by value 2024-02-12 20:09:18 +00:00
network Change type of internal locationHeader constexpr to QL1SV 2024-02-08 17:02:52 +02:00
opengl Refix invalid glTexImage2D operation in FramebufferObject 2024-02-09 15:26:21 +01:00
openglwidgets QOpenGLWidget: Call glClear in the default paintGL implementation 2023-09-04 11:46:29 +02:00
platformsupport Introduce NO_GENERATE_CPP_EXPORTS argument for qt_internal_add_module 2024-02-09 23:00:04 +01:00
plugins SQL/ODBC: Remove code duplication - merge SQLFetch/SQLFetchScroll 2024-02-09 23:16:39 +01:00
printsupport Remove extra semi-colons 2024-02-06 20:17:18 +09:00
sql QtSql: #include mocs 2024-02-10 02:39:14 -08:00
testlib QTest: rename local `timeout` variable in QTRY_IMPL macro 2024-02-09 15:11:50 +01:00
tools Change license for tools files 2024-02-07 13:15:09 +01:00
widgets QWidgetWindow: Don't meddle with WA_WState_{Hidden/ExplicitShowHide} 2024-02-12 21:09:18 +01:00
xml QDom: give name to all anonymous parameters as well as too generic ones 2024-02-08 14:40:04 +00:00
CMakeLists.txt Add Qt icon library for examples 2023-04-22 18:14:38 +03:00