From 5fa2af19914149ed9b20a6fcdf4b519d88f794ef Mon Sep 17 00:00:00 2001 From: nightwing Date: Sat, 9 Mar 2013 19:11:07 +0400 Subject: [PATCH] fix #1286 ibus Chinese input issue --- lib/ace/keyboard/textinput.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/ace/keyboard/textinput.js b/lib/ace/keyboard/textinput.js index e8f3ed29..0c7514ad 100644 --- a/lib/ace/keyboard/textinput.js +++ b/lib/ace/keyboard/textinput.js @@ -210,7 +210,8 @@ var TextInput = function(parentNode, host) { host.onPaste(data); pasted = false; } else if (data == PLACEHOLDER[0]) { - host.execCommand("del", {source: "ace"}); + if (Date.now() - lastCompositionTime > 100) + host.execCommand("del", {source: "ace"}); } else { if (data.substring(0, 2) == PLACEHOLDER) data = data.substr(2); @@ -355,10 +356,12 @@ var TextInput = function(parentNode, host) { if (!inCompostion) return; host.onCompositionUpdate(text.value); }; - + + var lastCompositionTime = -1; var onCompositionEnd = function(e) { inCompostion = false; host.onCompositionEnd(); + lastCompositionTime = Date.now(); }; var syncComposition = lang.delayedCall(onCompositionUpdate, 50);