diff -r 4633027730f5 -r e6ad4ef83b23 src/hbcore/inputfw/hbinputfocusobject.cpp --- a/src/hbcore/inputfw/hbinputfocusobject.cpp Wed Aug 18 10:05:37 2010 +0300 +++ b/src/hbcore/inputfw/hbinputfocusobject.cpp Thu Sep 02 20:44:51 2010 +0300 @@ -159,8 +159,7 @@ if (d->mFocusedObject) { HbEvent *event = new HbEvent(HbEvent::InputMethodFocusOut); - QCoreApplication::sendEvent(d->mFocusedObject, event); - delete event; + QCoreApplication::postEvent(d->mFocusedObject, event); } delete d_ptr; @@ -731,10 +730,10 @@ } /*! -Sets focus to the editor point by this focus objetc. This method is needed because sometimes +Sets focus to the editor pointed by this focus object. Sometimes input method does something that temporarily removes focus from the original editor, for example displays a dialog which itself contains an editor in it. This method can -be used to return the focus to the original editor. +be used to return the input focus to the original editor. */ void HbInputFocusObject::setFocus() { @@ -749,6 +748,13 @@ widget->setFocus(); } } + + QInputContext* ic = qApp->inputContext(); + if (ic) { + QEvent *openEvent = new QEvent(QEvent::RequestSoftwareInputPanel); + ic->filterEvent(openEvent); + delete openEvent; + } } /*!