Fix input picker raising issue
authorSangYong Park <sy302.park@samsung.com>
Tue, 22 Oct 2013 07:31:20 +0000 (16:31 +0900)
committerGerrit Code Review <gerrit@gerrit.vlan144.tizendev.org>
Thu, 24 Oct 2013 01:32:08 +0000 (01:32 +0000)
[Title] Fix input picker raising issue
[Issue#] N_SE-54357
[Problem] Input picker did not raise on second time by host keyboard
[Cause] Input picker state did not be cleared on first time.
[Solution] Clear input picker state when input picker was closed.

Change-Id: I39c16b736f0b7634661f26f3ef99186b460ce0b1

Source/WebKit2/UIProcess/efl/InputMethodContextEfl.cpp

index 7126c8c..9ed31d4 100755 (executable)
@@ -421,7 +421,7 @@ void InputMethodContextEfl::handleKeyDownEvent(const Evas_Event_Key_Down* downEv
 
     const EditorState& state = m_viewImpl->page()->editorState();
 
-    if (!m_isLastKeyEventFiltered && !m_approximateSurroundingText.isNull() && !state.hasComposition)
+    if (!m_isLastKeyEventFiltered && !m_approximateSurroundingText.isNull())
         ecore_imf_context_cursor_position_set(m_context.get(), m_approximateCursorPosition);
 
     if (m_fakeKeyEventTimer.isActive())
@@ -468,7 +468,7 @@ void InputMethodContextEfl::updateTextInputState()
 
     m_approximateSurroundingText = String();
 
-    if (m_context && !editor.hasComposition)
+    if (m_context)
         ecore_imf_context_cursor_position_set(m_context.get(), editor.cursorPosition);
 }
 
@@ -764,8 +764,9 @@ void InputMethodContextEfl::hideIMFContext()
 #endif
 
     m_inputPickerType = -1;
+    m_focused = false;
 
-    if (!m_context || !m_focused)
+    if (!m_context)
         return;
 
     if (evas_object_focus_get(m_viewImpl->view())) {
@@ -774,7 +775,6 @@ void InputMethodContextEfl::hideIMFContext()
         ecore_imf_context_focus_out(m_context.get());
     }
 
-    m_focused = false;
     revertIMFContext();
 }