[Tizen] Fix IME (key input) issues on Text control 83/123883/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 09:50:07 +0000 (18:50 +0900)
- This patch can be reverted to the next DALi version.

- 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 fe2ef84..ec5148a 100644 (file)
@@ -556,6 +556,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