diff --git a/plugins/User/plugin.py b/plugins/User/plugin.py index 9e04261d8..d6b5a2279 100644 --- a/plugins/User/plugin.py +++ b/plugins/User/plugin.py @@ -339,7 +339,7 @@ class User(callbacks.Plugin): if user.checkPassword(password): try: user.addAuth(msg.prefix) - ircdb.users.setUser(user) + ircdb.users.setUser(user, flush=False) irc.replySuccess() except ValueError: irc.error('Your secure flag is true and your hostmask ' diff --git a/src/ircdb.py b/src/ircdb.py index d6f8f194a..b4ce5cf2f 100644 --- a/src/ircdb.py +++ b/src/ircdb.py @@ -707,7 +707,7 @@ class UsersDictionary(utils.IterableMap): del self._hostmaskCache[hostmask] del self._hostmaskCache[id] - def setUser(self, user): + def setUser(self, user, flush=True): """Sets a user (given its id) to the IrcUser given it.""" self.nextId = max(self.nextId, user.id) try: @@ -731,7 +731,8 @@ class UsersDictionary(utils.IterableMap): raise DuplicateHostmask, hostmask self.invalidateCache(user.id) self.users[user.id] = user - self.flush() + if flush: + self.flush() def delUser(self, id): """Removes a user from the database."""