}
static void
-send_surrounding_text(WaylandIMContext *imcontext)
+send_surrounding_text(WaylandIMContext *imcontext, Eina_Bool force_update)
{
int cursor_pos;
char *surrounding = NULL;
need_update = EINA_TRUE;
}
- if (need_update) {
+ if (need_update || force_update) {
if (imcontext->input && imcontext->text_input) {
if (imcontext->surrounding_text)
free (imcontext->surrounding_text);
if (!imcontext->ctx)
return;
- send_surrounding_text (imcontext);
+ send_surrounding_text (imcontext, EINA_FALSE);
send_cursor_location (imcontext);
if (imcontext->input && imcontext->text_input) {
}
}
- send_surrounding_text (imcontext);
+ send_surrounding_text (imcontext, EINA_FALSE);
}
static void
if (_TV)
hw_keyboard_mode = EINA_FALSE;
- send_surrounding_text (imcontext);
+ send_surrounding_text (imcontext, EINA_TRUE);
if (ecore_imf_context_input_panel_enabled_get(ctx))
if (!ecore_imf_context_input_panel_show_on_demand_get (ctx))
LOGD ("ctx : %p, cursor pos : %d", ctx, cursor_pos);
set_autocapital (ctx);
- send_surrounding_text (imcontext);
+ send_surrounding_text (imcontext, EINA_FALSE);
if (!imcontext->preedit_text || strlen(imcontext->preedit_text) == 0)
wl_text_input_set_cursor_position (imcontext->text_input, cursor_pos);