Android: Fix crash when selecting text on a TextField
The crash is due to absence of the helper class that manages the selection in QtInputDelegate. As a fix, updateInputDelegate() is introduced when setView(), where the instantiation and clearance of EditPopupMenu is made. On the other hand, the nullity of EditPopupMenu in QTEmbeddedDelegate is handled. Fixes: QTBUG-122740 Pick-to: 6.7 Change-Id: Iac5cded7be7530dde8c739265fc9402670714d39 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>bb10
parent
d374dd6f84
commit
a87764789f
|
|
@ -141,10 +141,20 @@ class QtEmbeddedDelegate extends QtActivityDelegateBase implements QtNative.AppS
|
|||
|
||||
void setView(QtView view) {
|
||||
m_view = view;
|
||||
updateInputDelegate();
|
||||
if (m_view != null)
|
||||
registerGlobalFocusChangeListener(m_view);
|
||||
}
|
||||
|
||||
private void updateInputDelegate() {
|
||||
if (m_view == null) {
|
||||
m_inputDelegate.setEditPopupMenu(null);
|
||||
return;
|
||||
}
|
||||
m_inputDelegate.setEditPopupMenu(new EditPopupMenu(m_activity, m_view));
|
||||
}
|
||||
|
||||
|
||||
public void setRootWindowRef(long ref) {
|
||||
m_rootWindowRef = ref;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -406,12 +406,13 @@ class QtInputDelegate implements QtInputConnection.QtInputConnectionListener {
|
|||
if (!QtClipboardManager.hasClipboardText(activity))
|
||||
editButtons &= ~EditContextView.PASTE_BUTTON;
|
||||
|
||||
if ((mode & CursorHandleShowEdit) == CursorHandleShowEdit && editButtons != 0) {
|
||||
m_editPopupMenu.setPosition(editX, editY, editButtons,
|
||||
m_cursorHandle, m_leftSelectionHandle, m_rightSelectionHandle);
|
||||
} else {
|
||||
if (m_editPopupMenu != null)
|
||||
if (m_editPopupMenu != null) {
|
||||
if ((mode & CursorHandleShowEdit) == CursorHandleShowEdit && editButtons != 0) {
|
||||
m_editPopupMenu.setPosition(editX, editY, editButtons,
|
||||
m_cursorHandle, m_leftSelectionHandle, m_rightSelectionHandle);
|
||||
} else {
|
||||
m_editPopupMenu.hide();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue