summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2011-10-04 17:44:12 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2011-10-04 17:44:12 (GMT)
commit28123fd63251719256ef231c37930e4c188e33db (patch)
tree128be902e54d4e1f3162745423996a8f51341b9b
parentb563a3f5418c3a3c292b834f9ef929a7a017a607 (diff)
parent6b716b286095a6810aa8318b68c5df32f06bc710 (diff)
downloadQt-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.cpp3
-rw-r--r--src/gui/kernel/qapplication_s60.cpp9
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;
}