From 60c33a2501bd3e14425845edb5f80ce5bf742d79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tinja=20Paavosepp=C3=A4?= Date: Mon, 22 Jan 2024 12:20:09 +0200 Subject: Android: Remove parent before adding window to screen When a window's parent is set to null, remove the corresponding native view from its previous parent layout before adding it to the layout for top level windows. If the removal from the previous layout is done after adding the window to the screen, an exception will be thrown due to the view already having a parent. Fixes: QTBUG-121232 Change-Id: I1c065b5158d32150042d25fb64f10cf48f83f9f4 Reviewed-by: Assam Boudjelthia (cherry picked from commit 1062373b8e2f8ecf63b7a60a34ca9d0b83466de3) Reviewed-by: Qt Cherry-pick Bot --- src/plugins/platforms/android/qandroidplatformwindow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/platforms/android/qandroidplatformwindow.cpp b/src/plugins/platforms/android/qandroidplatformwindow.cpp index 8c6158a030..e6f38a73a3 100644 --- a/src/plugins/platforms/android/qandroidplatformwindow.cpp +++ b/src/plugins/platforms/android/qandroidplatformwindow.cpp @@ -182,9 +182,9 @@ void QAndroidPlatformWindow::setParent(const QPlatformWindow *window) m_nativeQtWindow.callMethod("setParent", parentWindow.object()); m_nativeParentQtWindow = parentWindow; } else if (QtAndroid::isQtApplication()) { - platformScreen()->addWindow(this); m_nativeQtWindow.callMethod("setParent", nullptr); m_nativeParentQtWindow = QJniObject(); + platformScreen()->addWindow(this); } } -- cgit v1.2.3