diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2011-10-04 17:44:12 (GMT) |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2011-10-04 17:44:12 (GMT) |
commit | 28123fd63251719256ef231c37930e4c188e33db (patch) | |
tree | 128be902e54d4e1f3162745423996a8f51341b9b | |
parent | b563a3f5418c3a3c292b834f9ef929a7a017a607 (diff) | |
parent | 6b716b286095a6810aa8318b68c5df32f06bc710 (diff) | |
download | Qt-28123fd63251719256ef231c37930e4c188e33db.zip Qt-28123fd63251719256ef231c37930e4c188e33db.tar.gz Qt-28123fd63251719256ef231c37930e4c188e33db.tar.bz2 |
Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qt-symbian-team
* 'master' of git://scm.dev.nokia.troll.no/qt/qt-symbian-team:
Symbian: Fix native dialog with splitscreen VKB focus loss issue
-rw-r--r-- | src/gui/inputmethod/qcoefepinputcontext_s60.cpp | 3 | ||||
-rw-r--r-- | src/gui/kernel/qapplication_s60.cpp | 9 |
2 files changed, 9 insertions, 3 deletions
diff --git a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp index bacf07a..0f9f0db 100644 --- a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp +++ b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp @@ -898,6 +898,9 @@ void QCoeFepInputContext::ensureWidgetVisibility() void QCoeFepInputContext::ensureFocusWidgetVisible(QWidget *widget) { + if (!widget) + return; + // Native side opening and closing its virtual keyboard when it changes the keyboard layout, // has an adverse impact on long tap timer. Cancel the timer when splitview opens to avoid this. QSymbianControl *symControl = static_cast<QSymbianControl*>(widget->effectiveWinId()); diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp index 80bcdf0..03da630 100644 --- a/src/gui/kernel/qapplication_s60.cpp +++ b/src/gui/kernel/qapplication_s60.cpp @@ -1493,12 +1493,15 @@ void QSymbianControl::handleClientAreaChange() } } -bool QSymbianControl::isSplitViewWidget(QWidget *widget) { +bool QSymbianControl::isSplitViewWidget(QWidget *widget) +{ bool returnValue = true; - //Ignore events sent to non-active windows, not visible widgets and not parents of input widget. + // Ignore events sent to non-active windows, not visible widgets and not parents of input widget + // and non-Qt dialogs. if (!qwidget->isActiveWindow() || !qwidget->isVisible() - || !qwidget->isAncestorOf(widget)) { + || !qwidget->isAncestorOf(widget) + || CCoeEnv::Static()->AppUi()->IsDisplayingMenuOrDialog()) { returnValue = false; } |