qt6-bb10/tests/auto/gui/kernel
Tor Arne Vestbø 99c70de9a6 Add dedicated child and parent events for QWindow reparenting
When a QWindow is parented into another window, either via its constructor,
or via setParent(), we also update the QObject parent of the window. This
in turn sends ChildAdded and ChildRemoved events to the new and old parent
of the window, as well as ParentAboutToChange and ParentChange to the window
itself.

But at the point when these events are sent, the QWindow parent relationship
has not been fully established. We have not updated d->parentWindow, nor
have we propagated the parent relationship to the platform window.

This is problematic because clients can not use these events to react to
window parent changes synchronously. For example. trying to raise a child
window when added to a parent is not going to work, because at that point
the child window isn't a native child of the parent.

Instead of re-using the QObject events for QWindow, like QWidget does,
by delaying the events or sending them manually at a point when the
window parent relationship has been fully formed, we opt to add new
dedicated events.

Change-Id: I019c14eba444861f537e4f68ab3a82297f843cf7
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-11-17 22:10:48 +01:00
..
noqteventloop CMake: Make gui tests standalone projects 2023-07-05 15:09:32 +02:00
qaction CMake: Make gui tests standalone projects 2023-07-05 15:09:32 +02:00
qactiongroup CMake: Make gui tests standalone projects 2023-07-05 15:09:32 +02:00
qaddpostroutine CMake: Make gui tests standalone projects 2023-07-05 15:09:32 +02:00
qbackingstore CMake: Make gui tests standalone projects 2023-07-05 15:09:32 +02:00
qclipboard Android: Fix for checking clipboard text mime type 2023-07-12 00:53:58 +02:00
qcursor CMake: Make gui tests standalone projects 2023-07-05 15:09:32 +02:00
qdrag CMake: Make gui tests standalone projects 2023-07-05 15:09:32 +02:00
qevent CMake: Make gui tests standalone projects 2023-07-05 15:09:32 +02:00
qfileopenevent CMake: Make gui tests standalone projects 2023-07-05 15:09:32 +02:00
qguiapplication macOS: Take window mask into account when computing QCocoaScreen::topLevelAt 2023-11-15 18:25:04 +01:00
qguieventdispatcher QEventDispatcher: test with glib disabled too 2023-08-11 16:45:40 +03:00
qguieventloop CMake: Make gui tests standalone projects 2023-07-05 15:09:32 +02:00
qguimetatype CMake: Make gui tests standalone projects 2023-07-05 15:09:32 +02:00
qguitimer QTimer: extend property tests and fix binding loop 2023-09-03 18:20:51 +02:00
qguivariant CMake: Make gui tests standalone projects 2023-07-05 15:09:32 +02:00
qhighdpi CMake: Make gui tests standalone projects 2023-07-05 15:09:32 +02:00
qinputdevice CMake: Make gui tests standalone projects 2023-07-05 15:09:32 +02:00
qinputmethod tst_QInputMethod: Don't assume test is the only one calling functions 2023-10-10 19:29:27 +02:00
qkeyevent Mark all of Qt as free of Q_FOREACH, except where it isn't 2023-08-19 05:19:42 +00:00
qkeysequence QKeySequence::toString(): Treat Modifier+Qt::Key_Unknown as empty string 2023-10-09 15:25:54 +02:00
qmouseevent Include what you need: <QPointer> 2023-10-12 21:38:54 +02:00
qmouseevent_modal CMake: Make gui tests standalone projects 2023-07-05 15:09:32 +02:00
qopenglwindow CMake: Make gui tests standalone projects 2023-07-05 15:09:32 +02:00
qpalette Rename accent color in QPalette 2023-08-18 00:38:38 +02:00
qpixelformat CMake: Make gui tests standalone projects 2023-07-05 15:09:32 +02:00
qrasterwindow CMake: Make gui tests standalone projects 2023-07-05 15:09:32 +02:00
qscreen CMake: Make gui tests standalone projects 2023-07-05 15:09:32 +02:00
qshortcut Add QShortcut test for Qt::ApplicationShortcut 2023-10-04 20:36:53 +02:00
qsurfaceformat CMake: Make gui tests standalone projects 2023-07-05 15:09:32 +02:00
qtouchevent Include what you need: <QPointer> 2023-10-12 21:38:54 +02:00
qwindow Add dedicated child and parent events for QWindow reparenting 2023-11-17 22:10:48 +01:00
CMakeLists.txt Android: Fix for checking clipboard text mime type 2023-07-12 00:53:58 +02:00