Fix IME (key input) issues on Text control 56/123856/1
authorSeoyeon Kim <seoyeon2.kim@samsung.com>
Fri, 7 Apr 2017 08:14:58 +0000 (17:14 +0900)
committerSeoyeon Kim <seoyeon2.kim@samsung.com>
Fri, 7 Apr 2017 08:27:36 +0000 (17:27 +0900)
- There needs to hide the keyboard after focusing out the cursor
  using ecore_imf_context_input_panel_hide( imfContext ) API.

- There is a crash issue when the key is up on Text control, because
  there were not defined imf_event.dev_name, dev_class, and dev_subclass.
  So, set the empty string in dev_name same as ecoreKeyDownEvent

Change-Id: I35c3989b4dfee097bc1121ab247675559458ec9a
Signed-off-by: Seoyeon Kim <seoyeon2.kim@samsung.com>
adaptors/ecore/wayland/event-handler-ecore-wl.cpp
adaptors/ecore/wayland/imf-manager-impl-ecore-wl.cpp

index 8461a44..f92fbdb 100644 (file)
@@ -479,6 +479,11 @@ struct EventHandler::Impl
         ecoreKeyUpEvent.timestamp = keyEvent->timestamp;
         ecoreKeyUpEvent.modifiers = EcoreInputModifierToEcoreIMFModifier ( keyEvent->modifiers );
         ecoreKeyUpEvent.locks     = (Ecore_IMF_Keyboard_Locks) ECORE_IMF_KEYBOARD_LOCK_NONE;
+#ifdef ECORE_IMF_1_13
+        ecoreKeyUpEvent.dev_name  = "";
+        ecoreKeyUpEvent.dev_class = ECORE_IMF_DEVICE_CLASS_KEYBOARD;
+        ecoreKeyUpEvent.dev_subclass = ECORE_IMF_DEVICE_SUBCLASS_NONE;
+#endif // ECORE_IMF_1_13
 
         eventHandled = ecore_imf_context_filter_event( imfContext,
                                                        ECORE_IMF_EVENT_KEY_UP,
index 8879894..95de164 100644 (file)
@@ -396,6 +396,7 @@ void ImfManager::Deactivate()
 
     Reset();
     ecore_imf_context_focus_out( mIMFContext );
+    ecore_imf_context_input_panel_hide( mIMFContext );
   }
 
   // Reset mIdleCallbackConnected