]> code.delx.au - pymsnt/commitdiff
Fixed OneSwitchboardSession being reused problem.
authorjamesbunton <jamesbunton@55fbd22a-6204-0410-b2f0-b6c764c7e90a>
Thu, 25 May 2006 00:09:51 +0000 (00:09 +0000)
committerjamesbunton <jamesbunton@55fbd22a-6204-0410-b2f0-b6c764c7e90a>
Thu, 25 May 2006 00:09:51 +0000 (00:09 +0000)
git-svn-id: http://delx.cjb.net/svn/pymsnt/trunk@165 55fbd22a-6204-0410-b2f0-b6c764c7e90a

committer: jamesbunton <jamesbunton@55fbd22a-6204-0410-b2f0-b6c764c7e90a>

src/tlib/msn/msnw.py

index 7b2c22cd7af1eed67ab0211c114255356682e8a0..6bce798c301925e2cf45abb7da0f941e2497accd 100644 (file)
@@ -443,9 +443,8 @@ class NotificationClient(msn.NotificationClient):
                sb = self.factory.msncon.switchboardSessions.get(userHandle)
                if sb and sb.transport:
                        sb.transport.loseConnection()
-               else:
-                       sb = OneSwitchboardSession(self.factory.msncon, userHandle)
-                       self.factory.msncon.switchboardSessions[userHandle] = sb
+               sb = OneSwitchboardSession(self.factory.msncon, userHandle)
+               self.factory.msncon.switchboardSessions[userHandle] = sb
                sb.connectReply(host, port, key, sessionID)
        
        def multipleLogin(self):
@@ -645,6 +644,7 @@ class OneSwitchboardSession(SwitchboardSessionBase):
                for message, noerror in self.messageBuffer:
                        if not noerror:
                                self.failedMessage(message)
+               self.messageBuffer = []
                SwitchboardSessionBase.connectionLost(self, reason)
 
        def _ready(self):