From c8be2ef60d675ee65bc713390619b97a240b6590 Mon Sep 17 00:00:00 2001 From: nightwing Date: Thu, 13 Dec 2012 18:57:47 +0400 Subject: [PATCH] use boolean instead of propertyChangeCounter --- lib/ace/keyboard/textinput.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/ace/keyboard/textinput.js b/lib/ace/keyboard/textinput.js index 7e5b0ebe..0f918dcf 100644 --- a/lib/ace/keyboard/textinput.js +++ b/lib/ace/keyboard/textinput.js @@ -143,8 +143,9 @@ var TextInput = function(parentNode, host) { } } if (useragent.isOldIE) { + var inPropertyChange = false; var onPropertyChange = function(e){ - if (propertyChangeCounter) + if (inPropertyChange) return; var data = text.value; if (inCompostion || !data || data == PLACEHOLDER) @@ -154,12 +155,12 @@ var TextInput = function(parentNode, host) { return syncProperty.schedule(); sendText(data); - propertyChangeCounter++; + // ie8 calls propertychange handlers synchronously! + inPropertyChange = true; resetValue(); - propertyChangeCounter--; + inPropertyChange = false; }; var syncProperty = lang.delayedCall(onPropertyChange); - var propertyChangeCounter = 0; event.addListener(text, "propertychange", onPropertyChange); var keytable = { 13:1, 27:1 };