From 41aa44ee781cc069c4bace7a7f2ea0c8bff53a0a Mon Sep 17 00:00:00 2001 From: Jeremy Fincher Date: Thu, 27 Mar 2003 20:59:05 +0000 Subject: [PATCH] Fixed bug in handling of outFilters returning None --- src/irclib.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/irclib.py b/src/irclib.py index b16422d6c..de8ff9e1a 100644 --- a/src/irclib.py +++ b/src/irclib.py @@ -278,11 +278,10 @@ class Irc(object): for (i, cb) in enumerate(self.callbacks): if cb.name() == name: toRemove.append(i) - if toRemove: - for i in reviter(range(len(self.callbacks))): - if toRemove and toRemove[-1] == i: - toRemove.pop() - ret.append(self.callbacks.pop(i)) + for i in reviter(range(len(self.callbacks))): + if toRemove and toRemove[-1] == i: + toRemove.pop() + ret.append(self.callbacks.pop(i)) return ret def queueMsg(self, msg): @@ -312,6 +311,10 @@ class Irc(object): for callback in self.callbacks: #debug.printf(repr(msg)) msg = callback.outFilter(self, msg) + if msg is None: + s = 'outFilter %s returned None' % callbacks.name() + debug.debugMsg(s) + return None self.state.addMsg(self,ircmsgs.IrcMsg(msg=msg, prefix=self.prefix)) s = '%s %s' % (time.strftime(conf.timestampFormat), msg) debug.debugMsg(s, 'low')