Qt 6.8.3 with BlackBerry 10 (QNX 8 / ARMv7) patches
 
 
 
 
 
 
Go to file
Tor Arne Vestbø aecedfed9a Restore window state of recreated top level widget, not closest QWindow
When we recreate a top level QWidget due to the RHI config not matching,
we need to re-apply the window state, as the state is lost on destroy().

But we should do this on the QWidget we are recreating, not on its
closest QWindow. These are usually the same, so it didn't matter in
practice for most cases (besides the more convoluted way of getting
to the QWidget's window).

But if the top level widget does not have a winId yet, the call to find
the closest QWindow via QWidgetPrivate::windowHandle() will traverse from
the top level widget to its transient parent widget, via nativeParentWidget,
which is strange and likely a bug.

As a result of that, we would store the window state of the transient
parent widget, and then, once we had created() the new top level, we
would apply the window state to the top level, which now had a winId.

We can simplify all of this by just storing and applying the window
state on the widget we are re-creating. There's no need to go via
the closest QWindow for this. We do however need to set the window
state on the widget's window, as going via QWidget will just bail
out since the window state hasn't changed.

Amends c88211d1e4

Fixes: QTBUG-119795
Pick-to: 6.7 6.6 6.5
Change-Id: I0ad6e7bbac5f29d095cc643e9a7094784e9a2122
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2024-02-12 21:09:18 +01:00
.github/workflows Repair github action workflow 2021-11-10 18:57:33 +01:00
LICENSES Update QLocale and calendar data to CLDR v44.1 2024-02-02 08:26:03 +01:00
bin CMake: Don't strip debug builds with qt-cmake-private-install in CI 2023-11-03 18:24:46 +02:00
cmake Add the missing versioned alias for the GlobalConfigPrivate target 2024-02-12 10:29:03 +01:00
coin COIN: Enable setting Debian target distro with env variable 2024-01-31 11:28:42 +00:00
config.tests Remove the mandatory x86-64 features from its feature list 2023-05-31 14:55:37 -07:00
dist
doc Change doc snippet license 2024-02-02 16:52:11 +00:00
examples Android: request POST_NOTIFICATIONS permission for Android Notifier 2024-02-06 17:23:42 +02:00
lib
libexec CMake: Add a config.redo script similar to qt5's config.status 2023-09-20 21:20:13 +02:00
mkspecs Remove QT_READDIR_R macro from qplatformdefs.h 2024-02-06 00:57:17 +02:00
qmake qmake: use [[fallthrough]] 2024-02-12 03:01:48 +00:00
src Restore window state of recreated top level widget, not closest QWindow 2024-02-12 21:09:18 +01:00
tests QStringConverter: add a test for missing drain 2024-02-12 19:12:25 +01:00
util Unicode line breaking: Implement rules LB15a and LB15b 2024-02-08 17:43:58 +01:00
.cmake.conf Bump version to 6.8.0 2023-12-11 17:35:40 +02:00
.gitattributes
.gitignore Git ignore Visual Studio CMake build directories 2023-11-24 23:42:05 +01:00
.lgtm.yml
.tag
CMakeLists.txt cmake: build repo helpers - fine-grained test/example options 2024-02-08 23:30:29 +08:00
config_help.txt Update config_help.txt with -trace ctf 2023-12-09 12:05:24 +02:00
configure Change configure license 2024-02-02 15:23:02 +00:00
configure.bat Change license of configure.bat file 2024-02-07 12:15:09 +00:00
configure.cmake CMake: Fix Threads global promotion issue when using static openssl 2024-01-22 14:18:09 +01:00
dependencies.yaml
qt_cmdline.cmake Add coverage and coverage-gcov features 2023-09-22 15:54:30 +02:00