src/hbplugins/inputmethods/common/hbinputpredictionhandler.cpp
changeset 28 b7da29130b0e
parent 23 e6ad4ef83b23
child 30 80e4d18b72f5
--- a/src/hbplugins/inputmethods/common/hbinputpredictionhandler.cpp	Thu Sep 02 20:44:51 2010 +0300
+++ b/src/hbplugins/inputmethods/common/hbinputpredictionhandler.cpp	Fri Sep 17 08:32:10 2010 +0300
@@ -41,8 +41,6 @@
 #include "hbinputpredictionhandler_p.h"
 #include "hbinputabstractbase.h"
 
-static const qreal HbDeltaHeight = 3.0;
-
 HbInputPredictionHandlerPrivate::HbInputPredictionHandlerPrivate()
     :mEngine(0),
     mCandidates(0),
@@ -61,6 +59,9 @@
         delete mCandidates;
         mCandidates = 0;
     }
+    if (mSpellQueryDialog) {
+        mSpellQueryDialog->deleteLater();
+    }
 }
 
 void HbInputPredictionHandlerPrivate::deleteOneCharacter()
@@ -799,7 +800,6 @@
     }
     if(!d->mSpellQueryDialog) {
         d->mSpellQueryDialog = new HbInputSpellQuery(d->mInputMethod,this); 
-        d->mSpellQueryDialog->setParent(this);
     }
 
     QString string;
@@ -841,7 +841,13 @@
     if(abstractEdit) {
         abstractEdit->setCursorPosition(abstractEdit->cursorPosition());
     }
+    if(HbInputMethod::activeInputMethod()->isFocusLocked()) {
+        HbInputMethod::activeInputMethod()->unlockFocus();
     HbInputMethod::activeInputMethod()->setFocusObject(newFocusObject);
+        HbInputMethod::activeInputMethod()->lockFocus();
+    } else {
+        HbInputMethod::activeInputMethod()->setFocusObject(newFocusObject);
+    }
 
     if (closeReason == HbInputSpellQuery::HbOkPressed) {
         d->commit(string,true);