use boolean instead of propertyChangeCounter

This commit is contained in:
nightwing 2012-12-13 18:57:47 +04:00
commit c8be2ef60d

View file

@ -143,8 +143,9 @@ var TextInput = function(parentNode, host) {
} }
} }
if (useragent.isOldIE) { if (useragent.isOldIE) {
var inPropertyChange = false;
var onPropertyChange = function(e){ var onPropertyChange = function(e){
if (propertyChangeCounter) if (inPropertyChange)
return; return;
var data = text.value; var data = text.value;
if (inCompostion || !data || data == PLACEHOLDER) if (inCompostion || !data || data == PLACEHOLDER)
@ -154,12 +155,12 @@ var TextInput = function(parentNode, host) {
return syncProperty.schedule(); return syncProperty.schedule();
sendText(data); sendText(data);
propertyChangeCounter++; // ie8 calls propertychange handlers synchronously!
inPropertyChange = true;
resetValue(); resetValue();
propertyChangeCounter--; inPropertyChange = false;
}; };
var syncProperty = lang.delayedCall(onPropertyChange); var syncProperty = lang.delayedCall(onPropertyChange);
var propertyChangeCounter = 0;
event.addListener(text, "propertychange", onPropertyChange); event.addListener(text, "propertychange", onPropertyChange);
var keytable = { 13:1, 27:1 }; var keytable = { 13:1, 27:1 };