diff --git a/protocols/meson.build b/protocols/meson.build index 6ef0be5d34cfe153758064f9f383a7a7c187cb91..44e278e6cc0f815240e252449b8a982e08d8bb58 100644 --- a/protocols/meson.build +++ b/protocols/meson.build @@ -12,6 +12,7 @@ wayland_protocols = [ [wl_protocol_dir, 'staging/ext-image-capture-source/ext-image-capture-source-v1.xml'], [wl_protocol_dir, 'staging/ext-image-copy-capture/ext-image-copy-capture-v1.xml'], [wl_protocol_dir, 'unstable/pointer-constraints/pointer-constraints-unstable-v1.xml'], + [wl_protocol_dir, 'unstable/text-input/text-input-unstable-v3.xml'], [wl_protocol_dir, 'unstable/xdg-decoration/xdg-decoration-unstable-v1.xml'], ['gtk-shell.xml'], ['phoc-device-state-unstable-v1.xml'], diff --git a/src/input-method-relay.c b/src/input-method-relay.c index 68dbfda9bfbbacfd91e46d34cb1f343e773aa22a..aeab462b1fde3ed04159daed5aca9fdc1b74732c 100644 --- a/src/input-method-relay.c +++ b/src/input-method-relay.c @@ -6,6 +6,8 @@ #include "server.h" #include "input-method-relay.h" +#include "text-input-unstable-v3-protocol.h" + #include #include @@ -300,6 +302,11 @@ submit_preedit (PhocInputMethodRelay *self, PhocTextInput *text_input) wlr_text_input_v3_send_commit_string (text_input->input, preedit->text); g_clear_pointer (&preedit->text, g_free); wlr_text_input_v3_send_done (text_input->input); + + /* As we submitted the preedit the input method needs to forget it too: */ + wlr_input_method_v2_send_text_change_cause (self->input_method, + ZWP_TEXT_INPUT_V3_CHANGE_CAUSE_OTHER); + wlr_input_method_v2_send_done (self->input_method); }