summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authoraxis <qt-info@nokia.com>2010-09-27 06:57:02 (GMT)
committeraxis <qt-info@nokia.com>2010-09-27 07:24:21 (GMT)
commit389a27400a4b95133ec7963b1d81f3317056a286 (patch)
treef9fb51ecb7a5e933b5dd67a5ffebfc20480ec50e /src
parent0ec3281f7deb9a0c5bdc26481bf5c0fb8d3ae750 (diff)
downloadQt-389a27400a4b95133ec7963b1d81f3317056a286.zip
Qt-389a27400a4b95133ec7963b1d81f3317056a286.tar.gz
Qt-389a27400a4b95133ec7963b1d81f3317056a286.tar.bz2
Made the Symbian menu close when switching native focus.
This was required to avoid windows appearing on top of the popup menu, preventing both the menu and the softkeys from being used. Task: QTBUG-9965 AutoTest: Included RevBy: Jason Barron
Diffstat (limited to 'src')
-rw-r--r--src/gui/kernel/qapplication_s60.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp
index e937918..2be3ed3 100644
--- a/src/gui/kernel/qapplication_s60.cpp
+++ b/src/gui/kernel/qapplication_s60.cpp
@@ -1341,6 +1341,10 @@ void QSymbianControl::setFocusSafely(bool focus)
// focus in Symbian. If this is not executed, the control which happens to be on
// the top of the stack may randomly be assigned focus by Symbian, for example
// when creating new windows (specifically in CCoeAppUi::HandleStackChanged()).
+
+ // Close any popups.
+ CEikonEnv::Static()->EikAppUi()->StopDisplayingMenuBar();
+
if (focus) {
S60->appUi()->RemoveFromStack(this);
// Symbian doesn't automatically remove focus from the last focused control, so we need to