From 133ea4f17a43e137ea601856f0658343d44b233a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pa=CC=84vels=20Nadtoc=CC=8Cajevs?= <7645683+bruvzg@users.noreply.github.com> Date: Fri, 17 Jan 2025 15:29:06 +0200 Subject: [PATCH] [Wayland] Fix excessive IME updates. --- platform/linuxbsd/wayland/display_server_wayland.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/platform/linuxbsd/wayland/display_server_wayland.cpp b/platform/linuxbsd/wayland/display_server_wayland.cpp index 0ad29405fba7..cd46508bf442 100644 --- a/platform/linuxbsd/wayland/display_server_wayland.cpp +++ b/platform/linuxbsd/wayland/display_server_wayland.cpp @@ -1223,10 +1223,12 @@ void DisplayServerWayland::process_events() { Ref ime_update_msg = msg; if (ime_update_msg.is_valid()) { - ime_text = ime_update_msg->text; - ime_selection = ime_update_msg->selection; + if (ime_text != ime_update_msg->text || ime_selection != ime_update_msg->selection) { + ime_text = ime_update_msg->text; + ime_selection = ime_update_msg->selection; - OS::get_singleton()->get_main_loop()->notification(MainLoop::NOTIFICATION_OS_IME_UPDATE); + OS::get_singleton()->get_main_loop()->notification(MainLoop::NOTIFICATION_OS_IME_UPDATE); + } } }