diff options
Diffstat (limited to 'sleekxmpp/xmlstream')
-rw-r--r-- | sleekxmpp/xmlstream/stanzabase.py | 4 | ||||
-rw-r--r-- | sleekxmpp/xmlstream/xmlstream.py | 7 |
2 files changed, 6 insertions, 5 deletions
diff --git a/sleekxmpp/xmlstream/stanzabase.py b/sleekxmpp/xmlstream/stanzabase.py index 49ddc305..d941b8cb 100644 --- a/sleekxmpp/xmlstream/stanzabase.py +++ b/sleekxmpp/xmlstream/stanzabase.py @@ -214,8 +214,8 @@ class StanzaBase(ElementBase): def clear(self): for child in self.xml.getchildren(): self.xml.remove(child) - for plugin in self.plugins: - del self.plugins[plugin] + #for plugin in list(self.plugins.keys()): + # del self.plugins[plugin] def reply(self): self['from'], self['to'] = self['to'], self['from'] diff --git a/sleekxmpp/xmlstream/xmlstream.py b/sleekxmpp/xmlstream/xmlstream.py index 73729031..ee884504 100644 --- a/sleekxmpp/xmlstream/xmlstream.py +++ b/sleekxmpp/xmlstream/xmlstream.py @@ -257,14 +257,15 @@ class XMLStream(object): break if stanza is None: stanza = StanzaBase(self, xmlobj) + unhandled = True for handler in self.__handlers: if handler.match(xmlobj): handler.prerun(stanza) self.eventqueue.put(('stanza', handler, stanza)) if handler.checkDelete(): self.__handlers.pop(self.__handlers.index(handler)) - else: - stanza.unhandled() - + unhandled = False + if unhandled: + stanza.unhandled() #loop through handlers and test match #spawn threads as necessary, call handlers, sending Stanza |