src/hbcore/inputfw/hbinputfocusobject.cpp
changeset 23 e6ad4ef83b23
parent 21 4633027730f5
child 28 b7da29130b0e
--- 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;
+    }
 }
 
 /*!