From e33eb158116421b0ef87bbae25cecabdb84a2509 Mon Sep 17 00:00:00 2001 From: Richard Moe Gustavsen Date: Fri, 7 Feb 2014 15:52:44 +0100 Subject: iOS: don't store reference to focus object MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sometimes focus object is updated after we get a callback that the cursor rectangle has changed. And there is no reason to keep a local reference to it. Since we also send events to the qApp->focusObject from UIView_textInput, we now end up more consistent. Change-Id: I3976175aae4e3f346be9bc5b771ac0fdefc03ae6 Reviewed-by: Tor Arne Vestbø --- src/plugins/platforms/ios/qiosinputcontext.h | 1 - src/plugins/platforms/ios/qiosinputcontext.mm | 5 +---- 2 files changed, 1 insertion(+), 5 deletions(-) (limited to 'src') diff --git a/src/plugins/platforms/ios/qiosinputcontext.h b/src/plugins/platforms/ios/qiosinputcontext.h index aec1686b93..13255ada56 100644 --- a/src/plugins/platforms/ios/qiosinputcontext.h +++ b/src/plugins/platforms/ios/qiosinputcontext.h @@ -77,7 +77,6 @@ private: QIOSKeyboardListener *m_keyboardListener; QUIView *m_focusView; bool m_hasPendingHideRequest; - QObject *m_focusObject; }; QT_END_NAMESPACE diff --git a/src/plugins/platforms/ios/qiosinputcontext.mm b/src/plugins/platforms/ios/qiosinputcontext.mm index 15f5082f62..d426028c46 100644 --- a/src/plugins/platforms/ios/qiosinputcontext.mm +++ b/src/plugins/platforms/ios/qiosinputcontext.mm @@ -179,7 +179,6 @@ QIOSInputContext::QIOSInputContext() , m_keyboardListener([[QIOSKeyboardListener alloc] initWithQIOSInputContext:this]) , m_focusView(0) , m_hasPendingHideRequest(false) - , m_focusObject(0) { if (isQtApplication()) connect(qGuiApp->inputMethod(), &QInputMethod::cursorRectangleChanged, this, &QIOSInputContext::cursorRectangleChanged); @@ -227,8 +226,6 @@ bool QIOSInputContext::isInputPanelVisible() const void QIOSInputContext::setFocusObject(QObject *focusObject) { - m_focusObject = focusObject; - if (!focusObject || !m_focusView || !m_focusView.isFirstResponder) { scroll(0); return; @@ -262,7 +259,7 @@ void QIOSInputContext::cursorRectangleChanged() // itself moves, we need to ask the focus object for ImCursorRectangle: static QPoint prevCursor; QInputMethodQueryEvent queryEvent(Qt::ImCursorRectangle); - QCoreApplication::sendEvent(m_focusObject, &queryEvent); + QCoreApplication::sendEvent(qApp->focusObject(), &queryEvent); QPoint cursor = queryEvent.value(Qt::ImCursorRectangle).toRect().topLeft(); if (cursor != prevCursor) scrollToCursor(); -- cgit v1.2.3