Android: Use main thread to add QtEditText to view hierarchy

QtWindow is adding QtEditText to its view hierarchy in qtMainThread,
instead of the main thread. This causes crashes.

Fixes: QTBUG-129201
Change-Id: I10a638d281198a82edc7a81e23182b0c66e83a0b
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit cc0629a4877ff7609094a29e4a18252c0de057b0)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Petri Virkkunen 2024-09-26 11:11:01 +03:00 committed by Qt Cherry-pick Bot
parent e59b65f4c1
commit 4076656e2b

View File

@ -44,9 +44,12 @@ class QtWindow extends QtLayout implements QtSurfaceInterface {
if (!isForeignWindow) {
m_editText = new QtEditText(context, listener);
addView(m_editText, new QtLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
m_editText.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO);
QtNative.runAction(() -> {
addView(m_editText,
new QtLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
});
} else {
m_editText = null;
}