iOS: Guard against request for textInputView without focus window
Change-Id: I7b8df07fffef1cc948f6720685234540a20ccc81 Fixes: QTBUG-79316 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
This commit is contained in:
parent
438702ac5f
commit
9ac156c90b
@ -781,12 +781,16 @@
|
||||
|
||||
- (UIView *)textInputView
|
||||
{
|
||||
auto *focusWindow = QGuiApplication::focusWindow();
|
||||
if (!focusWindow)
|
||||
return nil;
|
||||
|
||||
// iOS expects rects we return from other UITextInput methods
|
||||
// to be relative to the view this method returns.
|
||||
// Since QInputMethod returns rects relative to the top level
|
||||
// QWindow, that is also the view we need to return.
|
||||
Q_ASSERT(qApp->focusWindow()->handle());
|
||||
QPlatformWindow *topLevel = qApp->focusWindow()->handle();
|
||||
Q_ASSERT(focusWindow->handle());
|
||||
QPlatformWindow *topLevel = focusWindow->handle();
|
||||
while (QPlatformWindow *p = topLevel->parent())
|
||||
topLevel = p;
|
||||
return reinterpret_cast<UIView *>(topLevel->winId());
|
||||
|
Loading…
Reference in New Issue
Block a user