{
E_Text_Input *text_input = wl_resource_get_user_data(resource);
E_Input_Method *input_method = NULL;
+ Eina_Bool _context_created = EINA_FALSE;
if (!text_input)
{
(input_method->context ? input_method->context->resource : NULL), resource);
if ((!input_method->context) || (!input_method->context->resource))
- _e_text_input_method_create_context(client, input_method, text_input, EINA_FALSE);
+ _context_created = _e_text_input_method_create_context(client, input_method, text_input, EINA_FALSE);
if (text_input == g_text_input &&
input_method->resource && input_method->context && input_method->context->resource)
destroyed_resource = input_method->resource;
}
+
+ if (_context_created)
+ _e_text_input_deactivate(text_input, input_method, EINA_FALSE);
}
static const struct wl_text_input_interface _e_text_input_implementation = {