Dec 19 12:26:24 but the higher layers (the session layer) was bad bad bad Dec 19 12:26:59 ok (haven't yet looked at it after the rewrite, been planning to for a while but always got caught up in other things) Dec 19 12:27:02 * ferulo (n=fherrera@100.Red-88-7-33.staticIP.rima-tde.net) has joined #pymsn Dec 19 12:27:15 _blob_to_session wasn't just finding a session for a blob, it would create a session, do stuff for when we receive a new session, do ALOT of stuff... Dec 19 12:27:26 but it was called also from when we get a _blob_sent Dec 19 12:27:52 it was really really crazy, look at this Dec 19 12:27:55 we receive a webcam invite Dec 19 12:28:01 so we get _blob_received Dec 19 12:28:06 it calls blob_to_session Dec 19 12:28:17 blob_to_session actually creates a new IncomingP2PSession Dec 19 12:28:27 then does a signal.emit("incoming-session" Dec 19 12:28:47 it gets caught by MSNObjectStore which checks and finds out it's not a DP session (it's a webcam session) so it calls reject Dec 19 12:29:07 so we reject the session, we send the decline Dec 19 12:29:12 then we get blob_sent called Dec 19 12:29:18 which calls blob_to_session again Dec 19 12:29:32 then the 'incoming-session' signal emission returns Dec 19 12:29:41 and blob_to_session returns a new session to blob_received Dec 19 12:29:49 which notifies it of our initial invite Dec 19 12:30:04 LOLOL! Dec 19 12:30:19 but when the session object receives the notification of the 'invite' the session was already rejected and destroyed!!!!! Dec 19 12:30:19 lol Dec 19 12:30:51 it took me a few days to figure out this code path! lol