2
0
Эх сурвалжийг харах

Fix IME key event being erased in macOS

Fixes Korean IME behavior which calls insertText and setMarkedText at the same time.

(cherry picked from commit 5962e5278c470e5f021c9b0e9178e0634968b337)
HolySkyMin 1 жил өмнө
parent
commit
3dfb82f47b

+ 2 - 1
platform/macos/display_server_macos.mm

@@ -725,7 +725,8 @@ void DisplayServerMacOS::update_mouse_pos(DisplayServerMacOS::WindowData &p_wd,
 }
 
 void DisplayServerMacOS::pop_last_key_event() {
-	if (key_event_pos > 0) {
+	// Does not pop last key event when it is an IME key event.
+	if (key_event_pos > 0 && key_event_buffer[key_event_pos - 1].raw) {
 		key_event_pos--;
 	}
 }