static enum _E_Input_Panel_State g_input_panel_state = E_INPUT_PANEL_STATE_DID_HIDE;
static E_Client *client_surface_ec = NULL;
static E_Text_Input *g_show_text_input = NULL;
+static struct wl_client *g_show_client = NULL;
static Eina_List *hooks_ec = NULL;
* in order to give a change to update UI */
LOGD("IM::SHOW::WAIT_FOR_READY\n");
+ g_show_client = client;
wl_input_method_send_show_input_panel(input_method->resource, input_method->context->resource);
/* we need to force update in order to release buffer
static void
_e_text_input_cb_input_panel_hide(struct wl_client *client, struct wl_resource *resource)
{
- E_Text_Input *text_input = wl_resource_get_user_data(resource);
-
- if (!g_text_input || (text_input && g_show_text_input == text_input)) {
+ if (g_show_client == client) {
_input_panel_hide(client, resource, EINA_FALSE);
g_show_text_input = NULL;
+ g_show_client = NULL;
}
}