Fix issue update_input_context does not work 49/138049/1
authorJihoon Kim <jihoon48.kim@samsung.com>
Mon, 3 Jul 2017 06:59:35 +0000 (15:59 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Tue, 11 Jul 2017 02:04:13 +0000 (11:04 +0900)
Change-Id: I7a5d4a6440e3d6d05f0f8f8254d0c3ce1d369875
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
src/e_mod_main.c

index f212865ed281d18feaa42a23346b0ad7a60aad8c..f4b77e651cae3cb561c775385d744adf9ab7d70b 100644 (file)
@@ -874,6 +874,24 @@ _e_text_input_method_context_cb_private_command(struct wl_client *client EINA_UN
                                         serial, command);
 }
 
+static void
+_e_text_input_method_context_cb_input_panel_event(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, uint32_t serial, uint32_t event_type, uint32_t value)
+{
+   E_Input_Method_Context *context = wl_resource_get_user_data(resource);
+
+   if (!context)
+     {
+        WTI_WARNING(resource,
+                    WL_DISPLAY_ERROR_INVALID_OBJECT,
+                    "No Input Method Context For Resource");
+        return;
+     }
+
+   if ((context->input) && (context->input->resource))
+     wl_text_input_send_input_panel_event(context->input->resource,
+                                          serial, event_type, value);
+}
+
 static void
 _e_text_input_method_context_cb_input_panel_data_update(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, uint32_t serial, const char *data, uint32_t length)
 {
@@ -1019,7 +1037,8 @@ static const struct wl_input_method_context_interface _e_text_input_method_conte
      _e_text_input_method_context_cb_get_surrounding_text,
      _e_text_input_method_context_cb_filter_key_event_done,
      _e_text_input_method_context_cb_update_ise_geometry,
-     _e_text_input_method_context_cb_recapture_string
+     _e_text_input_method_context_cb_recapture_string,
+     _e_text_input_method_context_cb_input_panel_event
 };
 
 static void