diff --git a/src/bindx/BindSignal.hx b/src/bindx/BindSignal.hx index 30349cb..3b343e5 100644 --- a/src/bindx/BindSignal.hx +++ b/src/bindx/BindSignal.hx @@ -187,10 +187,9 @@ class Signal { } public function add(listener:T):Void { - if (listeners.indexOf(listener) == -1) { - checkLock(); - listeners.push(listener); - } + var pos = listeners.indexOf(listener); + if (pos == -1) checkLock(); else listeners.splice(pos, 1); + listeners.push(listener); } public function remove(listener:T):Void {