diff options
author | Tinja Paavoseppä <tinja.paavoseppa@qt.io> | 2024-01-22 12:20:09 +0200 |
---|---|---|
committer | Tinja Paavoseppä <tinja.paavoseppa@qt.io> | 2024-01-22 15:07:49 +0000 |
commit | 1062373b8e2f8ecf63b7a60a34ca9d0b83466de3 (patch) | |
tree | c537e4f5afcf77462a930655a1fb26ff13094aa2 /src/plugins/platforms/android/qandroidplatformwindow.cpp | |
parent | ef01f32388ad2eb69aa58879b56a7891a492619b (diff) |
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
Pick-to: 6.7
Change-Id: I1c065b5158d32150042d25fb64f10cf48f83f9f4
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Diffstat (limited to 'src/plugins/platforms/android/qandroidplatformwindow.cpp')
-rw-r--r-- | src/plugins/platforms/android/qandroidplatformwindow.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
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<void, QtWindow>("setParent", parentWindow.object()); m_nativeParentQtWindow = parentWindow; } else if (QtAndroid::isQtApplication()) { - platformScreen()->addWindow(this); m_nativeQtWindow.callMethod<void, QtWindow>("setParent", nullptr); m_nativeParentQtWindow = QJniObject(); + platformScreen()->addWindow(this); } } |