Fixing buggy loop conditions (index variable out of range)

This commit is contained in:
Phil Gates-Idem 2014-07-31 16:15:55 -04:00
parent 0475014358
commit eceab5a444

View File

@ -133,7 +133,7 @@ EventEmitterWrapper.prototype = {
return event === curEvent;
});
} else {
for (var i=listeners.length; i>=0; i--) {
for (var i = listeners.length - 1; i >= 0; i--) {
var cur = listeners[i];
target.removeListener(cur[INDEX_EVENT], cur[INDEX_LISTENER]);
}
@ -149,7 +149,7 @@ EventEmitterWrapper.prototype.addListener = EventEmitterWrapper.prototype.on;
function attachDestroy(target, subscribeToList) {
target.once('destroy', function() {
for (var i=subscribeToList.length; i >= 0; i--) {
for (var i = subscribeToList.length - 1; i >= 0; i--) {
if (subscribeToList[i]._target === target) {
subscribeToList.splice(i, 1);
break;
@ -189,7 +189,7 @@ SubscriptionTracker.prototype = {
unsubscribeAll: function() {
var subscribeToList = this._subscribeToList;
for (var i=subscribeToList.length; i>=0; i--) {
for (var i = subscribeToList.length - 1; i >= 0; i--) {
subscribeToList[i].removeAllListeners();
}
subscribeToList.length = 0;