Fix IME does not show when other imcontext is deleted 51/113951/2
authorInHong Han <inhong1.han@samsung.com>
Thu, 9 Feb 2017 07:35:21 +0000 (16:35 +0900)
committerInHong Han <inhong1.han@samsung.com>
Thu, 9 Feb 2017 10:53:16 +0000 (19:53 +0900)
If the application deletes other imcontext immediately after the input_panel_show
request, the IME will not be shown by input_panel_hide event. So modified to compare
focused_context with deleted_context.

Change-Id: I19bd19e22bb4e571b928229603c2df2aea564356

src/e_mod_main.c

index 76e30686282804a9bc6f75a20f7b4891556dc822..cc4223491d2c5ddbde0dbd5e7dc4c3a0917fe2cc 100644 (file)
@@ -1281,7 +1281,10 @@ _e_text_input_cb_input_panel_show(struct wl_client *client, struct wl_resource *
 static void
 _e_text_input_cb_input_panel_hide(struct wl_client *client, struct wl_resource *resource)
 {
-   _input_panel_hide(client, resource, EINA_FALSE);
+   E_Text_Input *text_input = wl_resource_get_user_data(resource);
+
+   if (!g_text_input || (text_input && g_text_input == text_input))
+      _input_panel_hide(client, resource, EINA_FALSE);
 }
 
 static void