Merge branch 'clear_preedit' into 'gtk-3-24'
Clear preedit when a text input loses focus See merge request GNOME/gtk!302
This commit is contained in:
@ -135,18 +135,7 @@ static void
|
|||||||
text_input_leave (void *data,
|
text_input_leave (void *data,
|
||||||
struct zwp_text_input_v3 *text_input,
|
struct zwp_text_input_v3 *text_input,
|
||||||
struct wl_surface *surface)
|
struct wl_surface *surface)
|
||||||
{
|
{}
|
||||||
/*
|
|
||||||
GtkIMContextWayland *context;
|
|
||||||
|
|
||||||
if (!global->current)
|
|
||||||
return;
|
|
||||||
|
|
||||||
context = GTK_IM_CONTEXT_WAYLAND (global->current);
|
|
||||||
TODO: does this clear text input or modify text?
|
|
||||||
reset_preedit (context);
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
text_input_preedit (void *data,
|
text_input_preedit (void *data,
|
||||||
@ -169,7 +158,6 @@ text_input_preedit (void *data,
|
|||||||
context->pending_preedit.cursor_end = cursor_end;
|
context->pending_preedit.cursor_end = cursor_end;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
text_input_preedit_apply (GtkIMContextWaylandGlobal *global)
|
text_input_preedit_apply (GtkIMContextWaylandGlobal *global)
|
||||||
{
|
{
|
||||||
@ -664,6 +652,11 @@ gtk_im_context_wayland_focus_out (GtkIMContext *context)
|
|||||||
|
|
||||||
zwp_text_input_v3_disable (global->text_input);
|
zwp_text_input_v3_disable (global->text_input);
|
||||||
commit_state (context_wayland);
|
commit_state (context_wayland);
|
||||||
|
|
||||||
|
/* after disable, incoming state changes won't take effect anyway */
|
||||||
|
text_input_preedit (global, global->text_input, "", 0, 0);
|
||||||
|
text_input_preedit_apply (global);
|
||||||
|
|
||||||
global->current = NULL;
|
global->current = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user