From b3b9e8c2b8068ce2566a9be2a813b2f04088f3ce Mon Sep 17 00:00:00 2001 From: dec05eba Date: Sun, 7 Nov 2021 06:46:42 +0100 Subject: Include utf8 string in text entered event --- src/window/window.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/window') diff --git a/src/window/window.c b/src/window/window.c index cec6417..b53c4a1 100644 --- a/src/window/window.c +++ b/src/window/window.c @@ -4,6 +4,7 @@ #include "../../include/mgl/system/utf8.h" #include #include +#include #include #include @@ -347,13 +348,17 @@ static void mgl_window_handle_text_event(mgl_window *self, XEvent *xev) { for(size_t i = 0; i < input_str_len;) { uint32_t codepoint = 0; const size_t clen = mgl_utf8_decode((const unsigned char*)&buf[i], &codepoint); - i += clen; mgl_event text_event; text_event.type = MGL_EVENT_TEXT_ENTERED; text_event.text.codepoint = codepoint; + text_event.text.size = clen; + memcpy(text_event.text.str, (const unsigned char*)&buf[i], clen); + text_event.text.str[clen] = '\0'; if(!x11_context_append_event(x11_context, &text_event)) break; + + i += clen; } } -- cgit v1.2.3