diff --git a/src/lime/_internal/backend/html5/HTML5Window.hx b/src/lime/_internal/backend/html5/HTML5Window.hx
index 5a7f78efb..97dc65f6e 100644
--- a/src/lime/_internal/backend/html5/HTML5Window.hx
+++ b/src/lime/_internal/backend/html5/HTML5Window.hx
@@ -555,11 +555,13 @@ class HTML5Window
private function handleInputEvent(event:InputEvent):Void
{
+ if (imeCompositionActive)
+ {
+ return;
+ }
+
// In order to ensure that the browser will fire clipboard events, we always need to have something selected.
// Therefore, `value` cannot be "".
-
- if (inputing) return;
-
if (textInput.value != dummyCharacter)
{
var value = StringTools.replace(textInput.value, dummyCharacter, "");
@@ -1201,16 +1203,16 @@ class HTML5Window
return textInputRect = value;
}
- private var inputing = false;
+ private var imeCompositionActive = false;
public function handleCompositionstartEvent(e):Void
{
- inputing = true;
+ imeCompositionActive = true;
}
public function handleCompositionendEvent(e):Void
{
- inputing = false;
+ imeCompositionActive = false;
handleInputEvent(e);
}