Welcome to mirror list, hosted at ThFree Co, Russian Federation.

dev.gajim.org/gajim/python-nbxmpp.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlovetox <philipp@hoerist.com>2020-03-26 00:28:34 +0300
committerlovetox <philipp@hoerist.com>2020-03-26 00:28:34 +0300
commit74cf3a1eceacf0935bd9a2686985127039700f62 (patch)
tree3977402d9ac955cda72d8b8c81e5c1642855f3ac /nbxmpp/dispatcher.py
parent42a4409ffa7598269145c1efa2c87f504fa38500 (diff)
Dispatcher: Don't clear IQ callbacks on parser reset
Only clear IQ callbacks if we not resumed the stream
Diffstat (limited to 'nbxmpp/dispatcher.py')
-rw-r--r--nbxmpp/dispatcher.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/nbxmpp/dispatcher.py b/nbxmpp/dispatcher.py
index 60fb373..8a9591e 100644
--- a/nbxmpp/dispatcher.py
+++ b/nbxmpp/dispatcher.py
@@ -186,14 +186,11 @@ class StanzaDispatcher(Observable):
self.register_handler(*handler)
def reset_parser(self):
- self._remove_timeout_source()
if self._parser is not None:
self._parser.dispatch = None
self._parser.destroy()
self._parser = None
- self._id_callbacks.clear()
-
self._parser = NodeBuilder(dispatch_depth=2,
finished=False)
self._parser.dispatch = self.dispatch
@@ -493,11 +490,15 @@ class StanzaDispatcher(Observable):
GLib.source_remove(self._timeout_id)
self._timeout_id = None
+ def clear_iq_callbacks(self):
+ self._log.info('Clear IQ callbacks')
+ self._id_callbacks.clear()
+
def cleanup(self):
self._client = None
self._modules = {}
self._parser = None
- self._id_callbacks.clear()
+ self.clear_iq_callbacks()
self._dispatch_callback = None
self._handlers.clear()
self._remove_timeout_source()