static Ecore_Timer *g_timer_will_hide = NULL;
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 Eina_List *hooks_ec = NULL;
text_input->input_panel_visibile = EINA_TRUE;
g_input_panel_state = E_INPUT_PANEL_STATE_WILL_SHOW;
+ g_show_text_input = text_input;
if (text_input->resource)
{
{
E_Text_Input *text_input = wl_resource_get_user_data(resource);
- if (!g_text_input || (text_input && g_text_input == text_input))
+ if (!g_text_input || (text_input && g_show_text_input == text_input)) {
_input_panel_hide(client, resource, EINA_FALSE);
+ g_show_text_input = NULL;
+ }
}
static void
g_client = NULL;
}
+ if (text_input == g_show_text_input)
+ g_show_text_input = NULL;
+
if (g_text_input == NULL && text_input->input_panel_visibile)
{
_input_panel_hide(NULL, resource, EINA_TRUE);