From: jamesbunton Date: Thu, 15 Jun 2006 14:03:39 +0000 (+0000) Subject: Notice switchboard session disconnects properly. X-Git-Url: https://code.delx.au/pymsnt/commitdiff_plain/f49886df6053da42000fe09ab864801fbce8c96b Notice switchboard session disconnects properly. Also report failedMessage error codes with messages over 1400 in size. git-svn-id: http://delx.cjb.net/svn/pymsnt/trunk@175 55fbd22a-6204-0410-b2f0-b6c764c7e90a committer: jamesbunton --- diff --git a/src/tlib/msn/msnw.py b/src/tlib/msn/msnw.py index b5d47ca..7f47291 100644 --- a/src/tlib/msn/msnw.py +++ b/src/tlib/msn/msnw.py @@ -582,7 +582,7 @@ class SwitchboardSessionBase(msn.SwitchboardClient): d = msn.SwitchboardClient.sendMessage(self, message) if not noerror: - d.addCallback(failedMessage) + d.addCallbacks(failedMessage, failedMessage) chunk += 1 @@ -652,6 +652,11 @@ class OneSwitchboardSession(SwitchboardSessionBase): if not noerror: self.failedMessage(message) self.messageBuffer = [] + + if self.msncon and self.msncon.switchboardSessions.has_key(self.remoteUser): + # Unexpected disconnection. Must remove us from msncon + self.msncon.switchboardSessions.pop(self.remoteUser) + SwitchboardSessionBase.connectionLost(self, reason) def _ready(self):