Fix setFlag/waitFlag edge case that was causing duplicate joins
This commit is contained in:
parent
e6d6e3391e
commit
565e490078
2 changed files with 3 additions and 7 deletions
|
|
@ -26,14 +26,10 @@ function ActiveLock(channel) {
|
|||
ActiveLock.prototype = {
|
||||
lock: function () {
|
||||
this.count++;
|
||||
//console.log('dbg: lock/count: ', this.count);
|
||||
//console.trace();
|
||||
},
|
||||
|
||||
release: function () {
|
||||
this.count--;
|
||||
//console.log('dbg: release/count: ', this.count);
|
||||
//console.trace();
|
||||
if (this.count === 0) {
|
||||
/* sanity check */
|
||||
if (this.channel.users.length > 0) {
|
||||
|
|
@ -87,8 +83,8 @@ Channel.prototype.waitFlag = function (flag, cb) {
|
|||
if (self.is(flag)) {
|
||||
cb();
|
||||
} else {
|
||||
var wait = function () {
|
||||
if (self.is(flag)) {
|
||||
var wait = function (f) {
|
||||
if (f === flag) {
|
||||
self.unbind("setFlag", wait);
|
||||
cb();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue