瀏覽代碼

[Wayland] Fix excessive IME updates.

Pāvels Nadtočajevs 9 月之前
父節點
當前提交
133ea4f17a
共有 1 個文件被更改,包括 5 次插入3 次删除
  1. 5 3
      platform/linuxbsd/wayland/display_server_wayland.cpp

+ 5 - 3
platform/linuxbsd/wayland/display_server_wayland.cpp

@@ -1223,10 +1223,12 @@ void DisplayServerWayland::process_events() {
 
 		Ref<WaylandThread::IMEUpdateEventMessage> 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);
+			}
 		}
 	}